当前位置:主页>Delphi教程>文章内容
Delphi中的四舍五入问题
来源: 作者: 发布时间:2007-04-29  
     在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:
采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。
     示例             结果
i:= Round(11.5)        12
i:= Round(10.5)        10

       这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。
如果要使用传统的"四舍五入"方法,可以使用下面函数:

function RoundClassic(R: Real): Int64;
begin
  Result:= Trunc(R);
  if Frac(R) >= 0.5 then
    Result:= Result + 1;
end;

       其实在VB、Excel、.net相关的语言中都有这个问题。


 
上一篇:隐藏我的电脑中驱动器   下一篇:在Delphi.net中调用COM/COM+
 
  相关文章
·隐藏我的电脑中驱动器
·在Delphi.net中调用COM/COM+
·通用查询组件设计
·发布delphi代码时的注意事项
·屏蔽“任务管理器”
·资源文件的应用
·实现QQ窗体的缩入伸出功能
·delphi的面向对象之路1
·开发一个基于DCOM的局域网聊天室(二)
·用Delphi模拟组件的两阶段提交
·在Delphi中实现StringTokenizer功能模
·古都Delphi
 
【关闭窗口】
推荐本站资源
最新文章