首页 > 其他 > 详细

四舍五入PK银行四舍五入

时间:2016-08-10 18:59:54      阅读:125      评论:0      收藏:0      [点我收藏+]

描述

  在实际开发中decimal.Round(1.23525,4)!=1.2353实际是1.2352,而decimal.Round(1.23535,4)==1.2354

说明

  四舍五入当舍去位的数值大于等于5时,在舍去该位的同时向前位进一;当舍去位的数值小于5时,则直接舍去该位。

  银行四舍五入:当舍去位的数值小于5时,直接舍去该位;当舍去位的数值大于等于6时,在舍去该位的同时向前位进一;当舍去位的数值等于5时,如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍去该位

eg:我们对1.234,1.345,1.355,1.366分别进行四舍五入和银行四舍五入

  四舍五入        银行四舍五入

    1.23          1.23

    1.35          1.34

    1.36          1.36

    1.37          1.37

解决方法

  我们既可以使用Round带三个参数的Round方法实现四舍五入,但枚举值必须使用MidpointRounding.AwayFromZero(四舍五入),而不能使用MidpointRounding.ToEven(银行四舍五入)。

测试有效效果

  decimal.Round(1.23525,4,MidpointRounding.AwayFromZero)=1.2353,而decimal.Round(1.23535,4,MidpointRounding.AwayFromZero)==1.2354

参考资料

  本文参考 “李涛的技术专栏” 博客,http://terryli.blog.51cto.com/704315/154840

四舍五入PK银行四舍五入

原文:http://www.cnblogs.com/hlc20131105/p/5757818.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!