Fórum Ponto flutuante #558695
28/06/2016
0
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
Curtir tópico
+ 0Post mais votado
28/06/2016
Você está tentando gravar uma virgula no banco, e não é aceito!
A forma correta seria: 33.520
Mateus Ribeiro
Gostei + 1
Mais Posts
28/06/2016
Marco Antônio
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.
Gostei + 1
28/06/2016
Paulo Borges
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?
Gostei + 0
28/06/2016
Mateus Ribeiro
Pronto, no banco estará 33520 mas na sua aplicação vc verá no formato 33.520,00
Gostei + 1
28/06/2016
Paulo Borges
vlw mesmo.
pois deu certo, abraços
Gostei + 0
28/06/2016
Marco Antônio
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ç.
Gostei + 1
28/06/2016
Paulo Borges
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)