Fórum Divisao decimal Diferenca com o Banco #269879
23/02/2005
0
Pessoal
Seguinte estou com problema na formatacao e inclusao de valres no banco de dados,
Bom no meu Banco de Dados tenho um campo
VITEM NUMBER(15,2)
E no meu programa o usuário vai digitar um valor total e eu terei que dividir este
Valor por uma quantidade X e colocar este valor dividido no campo da Tabela VITEM
Bom ae faço assim
var
c:string;
b,valor_sub,a:double;
begin
valor_sub:=(StrToFloat(edit3.text) / StrToFloat(edit2.text)); -------->>>valor_total dividido pela quantidade
a:=StrToFloat(edit3.text));
b:=StrtoFloat(edit4.text);
b:=b* dm_principal.Qry_Prestador_ambquantidade_consulta.value; ------------------- refazer calculo para verificar
showmessage(´valor b´+floattostr(b)); ------ coloquei só vizualizar
c:=floattostr(a-b); ------- só par aver a diferenca
showmessage(´diferenca c´+(c)); ------ coloquei só vizualizar mostra a diferenca
então o que acontece
Quando vou colocar no Banco de dados estas informacoe elas entram com diferenca
Vamos supor Valor Total =200
Quantidade=15
VITEM= 13,33333333333333
Na inserção no Banco fica 13,33
Mas na Soma no Banco ae Fica 199,95
O que me da 0,05 diferenca de alguns centavos não chegando a 200,00
Alguém sabe onde estou errando?
Ou se neste caso vou ter que incrementar um VITEM com a Diferenca?
Desde já agradeco
Seguinte estou com problema na formatacao e inclusao de valres no banco de dados,
Bom no meu Banco de Dados tenho um campo
VITEM NUMBER(15,2)
E no meu programa o usuário vai digitar um valor total e eu terei que dividir este
Valor por uma quantidade X e colocar este valor dividido no campo da Tabela VITEM
Bom ae faço assim
var
c:string;
b,valor_sub,a:double;
begin
valor_sub:=(StrToFloat(edit3.text) / StrToFloat(edit2.text)); -------->>>valor_total dividido pela quantidade
a:=StrToFloat(edit3.text));
b:=StrtoFloat(edit4.text);
b:=b* dm_principal.Qry_Prestador_ambquantidade_consulta.value; ------------------- refazer calculo para verificar
showmessage(´valor b´+floattostr(b)); ------ coloquei só vizualizar
c:=floattostr(a-b); ------- só par aver a diferenca
showmessage(´diferenca c´+(c)); ------ coloquei só vizualizar mostra a diferenca
então o que acontece
Quando vou colocar no Banco de dados estas informacoe elas entram com diferenca
Vamos supor Valor Total =200
Quantidade=15
VITEM= 13,33333333333333
Na inserção no Banco fica 13,33
Mas na Soma no Banco ae Fica 199,95
O que me da 0,05 diferenca de alguns centavos não chegando a 200,00
Alguém sabe onde estou errando?
Ou se neste caso vou ter que incrementar um VITEM com a Diferenca?
Desde já agradeco
Magnus@
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)