GARANTIR DESCONTO

Fórum numero com duas casas decimais #285391

20/06/2005

0

ola galera

tenho uma variavel total(do tipo real)

total := valor1 /valor2;

eu gostaria que essa variavel tivesse o seu valor apenas com duas casa apos a virgula, como eu faço isso.


Radolpho

Radolpho

Responder

Posts

20/06/2005

Marco Salles

Seria isto que voce deseja :?: :?:

var
total , valor1 ,valor2:Real;

begin
valor1:=7.34;
Valor2:=2.5;
 // trunca o valor em duas casas decimais
total := 0.01*Trunc(100*valor1 /valor2);
Showmessage(floattostr(total));
  // arredonda o valor em duas casas decimais
total := 0.01*Round(100*valor1/valor2);
Showmessage(floattostr(total));
end;



Responder

Gostei + 0

20/06/2005

Oscar Candido

Amigo, vc pode tentar usar tb o seguinte:
 FormatFloat(´0.00´,total)

Essa função retorna uma String
Espero tê-lo ajudado
Um Abraço


Responder

Gostei + 0

21/06/2005

Osocram

[quote:f55f587f6a=´oscar candido´]Amigo, vc pode tentar usar tb o seguinte:
 FormatFloat(´0.00´,total)

Essa função retorna uma String
Espero tê-lo ajudado
Um Abraço[/quote:f55f587f6a]
O ideal p mostrar p o cliente seria
FormatFloat(´#,,,0.00´,total)

fica mais legivel


Responder

Gostei + 0

21/06/2005

Emerson Nascimento

try
  total := roundto( valor1/valor2,-2 ); // unit math
except
  total := 0;
end;



Responder

Gostei + 0

21/06/2005

Jairroberto

[quote:50a3786d91=´oscar candido´]Amigo, vc pode tentar usar tb o seguinte:
 FormatFloat(´0.00´,total)
Essa função retorna uma String Espero tê-lo ajudado Um Abraço

O ideal p mostrar p o cliente seria
FormatFloat(´#,,,0.00´,total)

fica mais legivel[/quote:50a3786d91]

Olá, pessoal!

Não precisa tudo isso. Para usar o separador de milhares no formato basta informar:
  FormatFloat(´,0.00´, total)


Só precisa inserir os ´´ se a utilização do separador de milhares não seguir o padrão de 3 casas.


Um abraço,
Jair[/code]


Responder

Gostei + 0

21/06/2005

Osocram

[quote:3b9a9b4365=´osocram´][quote:3b9a9b4365=´oscar candido´]Amigo, vc pode tentar usar tb o seguinte:
 FormatFloat(´0.00´,total)
Essa função retorna uma String Espero tê-lo ajudado Um Abraço

O ideal p mostrar p o cliente seria
FormatFloat(´#,,,0.00´,total)

fica mais legivel[/quote:3b9a9b4365]

Olá, pessoal!

Não precisa tudo isso. Para usar o separador de milhares no formato basta informar:
  FormatFloat(´,0.00´, total)


Só precisa inserir os ´´ se a utilização do separador de milhares não seguir o padrão de 3 casas.


Um abraço,
Jair[/code][/quote:3b9a9b4365]

sempre pensei se non teria um ejeito mais facil... do q eu fazia..
ehehhehe ae esta... vou testar outra hora ...

:D


Responder

Gostei + 0

22/06/2005

Lperosa

Outra solução é declarar a variável como Currency, que trabalha somente com 2 casas decimais.


Responder

Gostei + 0

22/06/2005

Jairroberto

Outra solução é declarar a variável como Currency, que trabalha somente com 2 casas decimais.


A lógica seria essa, mas não. Por incrível que pareca, o tipo Currency utiliza 4 decimais. Veja o texto extraído do help do Delphi:

Currency is a fixed-point data type that minimizes rounding errors in monetary calculations. It is stored as a scaled 64-bit integer with the [b:ba1d0d5e59]four least-significant digits[/b:ba1d0d5e59] implicitly representing decimal places. When mixed with other real types in assignments and expressions, [b:ba1d0d5e59]Currency values are automatically divided or multiplied by 10000[/b:ba1d0d5e59].


Um abraço,
Jair


Responder

Gostei + 0

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

Aceitar