小数点后位数的取法(0分)

  • 主题发起人 主题发起人 莫征文
  • 开始时间 开始时间

莫征文

Unregistered / Unconfirmed
GUEST, unregistred user!
一个数据,小数点后可能有两位以上,
用四舍五入的方法仅保留其中两位,这样的操作什么实现?
如:1023.453=1023.45
1023.456=1023.46
 
function DoubleToDollar(ADouble: Double): Double;
begin
Result := StrToFloat(FloatToStrF(Floor(ADouble * 100 + 0.51) / 100.0,ffFixed, 15, 2));
end;

function DoubleToDollarStr(ADouble: Double): String;
begin
Result := FloatToStrF(floor(ADouble * 100 + 0.51) / 100.0, ffFixed, 15, 2);
end;

function DoubleToStr(ADouble: Double; Digits: Integer): String;
begin
Result := FloatToStrF(ADouble, ffFixed, 15, Digits);
end;
 
formatfloat('#0.00',x)
 
roundTo( 1023.456,-2)
注意Use Math单元
 
round(100*x)/100
 
简单算法:
*100,
+5,
取整,
/100。

很简单~~~:)
 
formatfloat('0.0',12.123456) 取一位小数
formatfloat('0.00',12.123456) 取二位小数
 
谢谢各位大虾!
 
后退
顶部