Formatar Número
Galera, gostaria de formatar um número com 3 casas decimais, mas preciso que o resultado não seja arredondado, por exemplo:
O número 2,5269 deve ser formatado 2,526 e não 2,527.
Estou usando cálculos com o formatfloat, mas ele me retorna um resultado arredondado, mas os resultados devem ser como mostrei acima.
Desde já agradeço;
O número 2,5269 deve ser formatado 2,526 e não 2,527.
Estou usando cálculos com o formatfloat, mas ele me retorna um resultado arredondado, mas os resultados devem ser como mostrei acima.
Desde já agradeço;
Zampier
Curtidas 0
Respostas
Edilcimar
06/03/2004
use a função trunc
GOSTEI 0
Marco Salles
06/03/2004
Amigo, Na Units Math Deve Existir Uma Função Que Lhe Forneça o Que Voce Quer...Como Este Método Ou Esta Função Ate Agora Não Foi Colocada Por Nenhum Dos Colegas, Resolve Escrever o Método Na Mão.
Espero Que Alguem Com Esclarecimento Neste Tópico Possa Elucidar o Veredito Com Uma Setença Mais Suave...No Mais Segue o Código
Qualquer Dúvida Ou Sugestão , Por Favor ......
Espero Que Alguem Com Esclarecimento Neste Tópico Possa Elucidar o Veredito Com Uma Setença Mais Suave...No Mais Segue o Código
Function FormatarNumeroComTresCasasSemArredondar(Numero:Currency):Currency; var i:Integer; Parar:Integer; Diferenca:Integer; Texto:String; StringNumero:String; begin StringNumero:=CurrToStr(Numero);// Transfm o Num em Uma String Parar:=Length(StringNumero); //Pega o Tmh De Char Desta String Texto:=´´;// Valor De Inicialização; i:=1; //Valor De Inicialização De Inicialização While i <= Parar Do begin Texto:=Texto+StringNumero[i]; if StringNumero[i] = DecimalSeparator Then begin Diferenca:=Length(StringNumero)-Length(Texto); if Diferenca >= 3 Then Parar:=Parar-(Diferenca-3);//O Tres Não Esta Aqui a Toa end; i:=i+1; end; // Fim Do While result:=StrToCurr(Texto); ShowMessage(FormatCurr(´#,.000´,result));//Desnecessário end;
Qualquer Dúvida Ou Sugestão , Por Favor ......
GOSTEI 0