当roundto(2.41,-1) =2.4 正确
但roundto(2.45,-1)=2.4为什么?????
怎样解决四舍五入
但roundto(2.45,-1)=2.4为什么?????
怎样解决四舍五入
解决方案 »
- 如何实现ping 域名,返回IP?
- datasetProvider.ApplyUpdates方法填充满nvarchar字段的問題
- 新人来此报道,以后要专心学delphi了~~
- 关于findfile()的问题,在线等!
- ADO怎样才能存取oracle的lob字段,我用的是微软的provider 高手请进!
- 如何做到单击DBGRID的列来实现排序!
- 全局临时表的使用问题
- 如何用鼠标点击读取所点击的图象的颜色和亮度,并在edit里显示数值?
- 关于中文的问题
- 关于在TSpinEdit的KeyPress事件中用回车键模拟TAB键的问题
- 如何控制scrollbox的滚动条?在线等
- 散尽最后150分!!!寻找声音格式从 GSM 转成 PCM 的算法或控件??? ( 在线 . . . . . . )
s:string;
begin
s:=floattostr(2.45);
roundto(strtofloat(S),-1)
end;
这是Delphi 的 Bug
这样更能接近原来的数!建议自己写代码控制吧
a:=2.45;
b:=1e-15;
if a>0 then
roundto(a+b,-1)
else
roundto(a-b,-1)
小数点后两位就变了。。2.445 为2.44..
小数点三位:2.4445....2.445
当后面一位为5时
小点奇数为变成奇数,偶数位保持偶数。。
值得学习了。楼主可以自己定义一点函数,如果函数不好用的情况下。