码迷,mamicode.com
首页 > 其他好文 > 详细

四舍五入PK银行四舍五入

时间:2016-08-10 19:00:40      阅读:148      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!