Fórum Truncar Numeros Reais #274978
01/04/2005
0
Exemplo: N = 1,234567
Quero Duas casas ---->>>> n = 1,23
A alguma função Via Delphi :?: :?: :?: :?:
Marco Salles
Curtir tópico
+ 0Posts
01/04/2005
Cristiam
FormatFloat(´0.00´, N)
Gostei + 0
01/04/2005
Kotho
Gostei + 0
01/04/2005
Marco Salles
Obrigado CristinaM , e acrescentado que para Truncar de Fato , devemos fazer :
n:=StrToFloat(FormatFloat(´0.00´,n));
Mas eu to precisando dtb e de arredondar este numero :lol: :lol: :lol: :lol:
Gostei + 0
01/04/2005
Massuda
var X: Double; .... // trunca o valor em duas casas decimais X := 0.01 * Trunc(100 * X); // arredonda o valor em duas casas decimais X := 0.01 * Round(100 * X);
Gostei + 0
01/04/2005
Marco Salles
É , tem que fazer na mão mesmo :evil: :evil: :evil: :evil: :evil:
Gostei + 0
17/11/2005
Mkoch
Com 2 casas decimais (0.01) funciona legal.
Gostei + 0
17/11/2005
Ajnet
Gostei + 0
17/11/2005
Mkoch
function TForm1.TruncMoney(const Valor: Currency; const Casas: Integer): Currency; var ValorS: String; NumInt, NumFrac, Num: String; Y: Integer; begin Result := 0; ValorS := CurrToStr(Valor); //Pegar a parte fracionária Y := Pos(DecimalSeparator, ValorS); if Y > 0 then begin NumInt := Copy(ValorS, 1, Y - 1); NumFrac := Copy(ValorS, Y + 1, Casas); end//if else begin NumInt := ValorS; NumFrac := ´´; end;//if //Preenche com zeros se necessário while Length(NumFrac) < Casas do NumFrac := NumFrac + ´0´; Num := NumInt; if Trim(NumFrac) <> ´´ then Num := Num + ´,´ + NumFrac; if not TryStrToCurr(Num, Result) then raise Exception.Create(QuotedStr(Num) + ´ não é um valor monetário valido.´); end;
Gostei + 0
03/09/2014
Ediclo Junior
function TForm1.Truncar(pValor: Double; pCasasDecimais:Integer=2;pTruncar: Boolean=true): double;
var
fator : Extended;
begin
fator := Power(10,pCasasDecimais);
pValor := (fator * pValor);
if pTruncar
then pValor := Trunc(pValor)
else pValor := Round(pValor);
Result := (pValor * (1/fator));
end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)