GARANTIR DESCONTO

Fórum Ponto flutuante #558695

28/06/2016

0

Oi preciso de uma ajuda:
Eu us delphi 7 e firibird 2.1
eu tenho no edit 33.520,00, Qdo vou gravar aparece um erro:

" '33.520,00' is not as valid floating point a valid for campo'meucampo' "

e o meucampo é numeric 15 ,2

preciso gravar esse valor assim no banco (33.520,00)
o que fazer? desde ja eu agradeço a atenção
Paulo Borges

Paulo Borges

Responder

Post mais votado

28/06/2016

Boa tarde!

Você está tentando gravar uma virgula no banco, e não é aceito!
A forma correta seria: 33.520

Mateus Ribeiro

Mateus Ribeiro
Responder

Gostei + 1

Mais Posts

28/06/2016

Marco Antônio

Paulo boa tarde.

No edit vc vê o conteúdo como sendo ' 33.520,00'. E isso tá correto. Mas o banco de dados não enxerga assim. No banco a informação é gravada como sendo ' 33520.00'.
Observe que o '.' ( ponto ) é o separador decimal.
Dependendo da forma como vc está incluindo vc deverá arrancar o ponto dos milhares e depois trocar a virgula por ponto. Exatamente nesta ordem.

Ex.
x := '33.520,00';

x := StringReplace( x , '.', '', [ rfReplaceAll , rfIgnoreCase ] ); // trocando ponto por vazio
x := StringReplace( x , ',', '.', [ rfReplaceAll , rfIgnoreCase ] ); // trocando virgula por ponto.

Ficará assim: '33520.00';

Outro ex.
x := '1.295.623,39';

x := StringReplace( x , '.', '', [ rfReplaceAll , rfIgnoreCase ] ); // trocando ponto por vazio
x := StringReplace( x , ',', '.', [ rfReplaceAll , rfIgnoreCase ] ); // trocando virgula por ponto.

Ficará assim: '1295623.39';

Abc.
Responder

Gostei + 1

28/06/2016

Paulo Borges

Oi obrigado ai pessoal vlw pela atenção,

Então ele iria ficar assim no edit: 33520.00
só que o cliente reclama
pq ele queria ver assim ''33.520,00''
como q eu faço?
Responder

Gostei + 0

28/06/2016

Mateus Ribeiro

No seu ClientDataSet, selecione a essa field e na propriedade DisplayFormat vc coloca isso: #,###,###,##0.00
Pronto, no banco estará 33520 mas na sua aplicação vc verá no formato 33.520,00
Responder

Gostei + 1

28/06/2016

Paulo Borges

Ao Mateus e o Marcos ai muito obrigado
vlw mesmo.
pois deu certo, abraços
Responder

Gostei + 0

28/06/2016

Marco Antônio

Paulo, desculpa a falta de clareza.
Mas o Matheus já esclareceu. Vc deverá de formatar no edit conforme o seu cliente deseja.
A forma de retirar os pontos dos milhares e definí-los apenas nos decimais seria antes de fazer a inclusão ou alteração na tabela.

Abç.
Responder

Gostei + 1

28/06/2016

Paulo Borges

Que amigo, vc me ajudou muito...
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar