function TUtils.Flt2str(Avalue:double; ADigits:Integer):string;
var
v : double;
p : Integer;
e : string;
begin
if abs(Avalue)<1 then
begin
result:=floatTostr(Avalue);
p:=pos('E',result);
if p>0 then
begin
e:=copy(result,p,length(result));
setlength(result,p-1);
v:=RoundTo(StrToFloat(result),-Adigits);
result:=FloatToStr(v)+e;
end else
result:=FloatToStr(RoundTo(Avalue,-Adigits));
end
else
result:=FloatToStr(RoundTo(Avalue,-Adigits));
end;
function TUtils.FormataValorDuasCasas(FValor : Currency) : Currency;
begin
Result := StrToCurrDef(Flt2str(FValor, 2), FValor);
end;
antes de salvar o valor do calculo é bom passar ele dentro dessa função para não preojudicar a soma total, por causa das dismas que sobram depois das duas casas de centavos, Ex: 1,234