• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#四舍五入问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

转载自:http://dlix.bokee.com/5956750.html

C#,java,vbscript都是采用的四舍六入五成双(下有解释)
SQL server 使用的是四舍五入。

C#如 Math.Round(1.25,1) = 1.2。

SQL 中 select round(1.25,1) 返回的是1.3。


C#中实现四舍五入的参考代码:

如2.45要四舍五入到小数后一位,可以先给2.45*10,然后加0.5,再取整,再除以10就OK了

  public double C1Round(double value, int digit)
  {
    double vt = Math.Pow(10, digit);
    double vx = value * vt;
   
    vx +=0.5;
    return (Math.Floor(vx) / vt);
  }   

四舍六入五成双 

四舍六入五成双是一种精确度的计数保留法.舍入规律是"四舍六入五成双",这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进,就像1.25,因为2是偶数,所以是1.2。又像1.35,因为3是奇数,所以是1.4,明不明白,这个是数据统计需要的.

        从统计学的角度,"四舍六入五成双"比"四舍五入"要科学,它使舍入后的结果有的变大,有的变小,更平均.而不是像四舍五入那样逢五就入,导致结果偏向大数.
例如:1.15+1.25+1.35+1.45=5.2,若按四舍五入取一位小数计算
1.2+1.3+1.4+1.5=5.4
按"四舍六入五成双"计算,1.2+1.2+1.4+1.4=5.2,舍入后的结果更能反映实际结果

 

作者:冰碟
出处:http://www.cnblogs.com/icebutterfly/
版权:本文版权归作者和博客园共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
在C#中实现Singleton[摘]发布时间:2022-07-14
下一篇:
Silverlight开发历程—C#代码添加动画发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap