Fórum Operações com Real Types ... #236271
04/06/2004
0
soma : Single;
valtrib : Single;
na operação: soma := soma + ValTrib/100;
O Conteudo de Valtrib é 687
e de some é: 6,8899998665 e eu queria que fosse 6,87
o que posso fazer para que obtenha esse valor?
Já mudei o tipo da variável, etc ..
Marcos Jk
Curtir tópico
+ 0Posts
04/06/2004
Xisto
Gostei + 0
07/06/2004
Marcos Jk
quando divido 420 (em outra passagem) por 100, mesmo utilizando esta função na depuração a variável está com o valor 4,1999998093.
Desculpe, sou programador novo (iniciando) em delphi, mas quando programava em cobol ( nos anos 90..) definia uma variável com 2 ou tres, quatro... casas decimais e pronto, era so calcular. Vejo que no delplhi e um pouco diferente ... nao entendo porem pque 420 nao resulta em 4,20. Ja pesquisei em varios livros de pascal, delphi mas nao achei nada mais aprofundado sobre operacoes aritmeticas ..
se alguem tiver algum link ou material sobre o assunto e puder dar um toque, desde ja agradeco ..
Gostei + 0
08/06/2004
Tatuweb
uses Math; function EspRound (Number: Double; Digits: Byte): Double; var n_swap: Extended; begin n_swap := Power (10, Digits); Number := Number * n_swap; Number := Round (Number); Result := Number/n_swap; end;
Chame assim
EspRound (4.1999998093, 2)
PS: Use ponto e não virgula como separador decimal. Tem que usar 4.19999. Se usar 4,19999 vai dar erro.
Gostei + 0
08/06/2004
Xisto
testei assim
Label2.Caption := formatfloat(´#0.00´,StrToFloat(edit1.Text)/100);
sendo edit1.text := 420 por exemplo
funcionou...
uso Delphi 6, mas nao sei se isto faz qqer diferenca.
Espero ter ajudado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)