用了这么久的 Delphi 居然有个函数我一直用错了. Round()(20分)

  • 主题发起人 主题发起人 QSmile
  • 开始时间 开始时间
Q

QSmile

Unregistered / Unconfirmed
GUEST, unregistred user!
我一直以为
Round() 是断开小数直接取整.
Trunc() 才是四舍五入

今天 Debug 一个东东.一直没有凋出来.再看一下 Help
原来 Round 已经四舍五入了.
Trunc 是用了银行业的四舍五入 (好象是)

我说的对不?大侠指正.

那 Delphi 有没有断开小数取整的函数吗?
 
Trunc就是你说的去掉小数
Round才是银行家的四舍五入
 
不过Delphi 中的Round方法有bug地
round(2.5) 结果 2
round(2.6) 结果 3

的值不一样的~~
 
Round不是有Bug,而是它采用了银行家的四舍五入算法
 
搞了半天,我又搞错了.

现在一定要记好了.
 
uses Math;
Ceil(2.1) 結果 3 向上取整
floor(2.9) 結果 2 向下取整
 
楼上的赞个,我也又学了一招:)Thanks
 
多人接受答案了。
 
后退
顶部