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

Math.Round四舍五入

时间:2014-10-20 16:47:30      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:blog   http   os   ar   sp   div   问题   log   html   

今天客户跑过来跟我说,我们程序里面计算的价格不对,我检查了一下,发现价格是经过折算后的价格,结果是可能小数位较多,而单据上只能打印两位价格,所以就对价格调用Math.Round(price,2)函数进行四舍五入。

而出现问题的单价就是1.805,函数Math.Round(1.085,2)的返回值却是1.80,按照四舍五入的原则,结果应该是1.81才对。

在一番google之后,发现微软是对了,是我们错了。:(

原来四舍五入也有个国际惯例,叫奇进偶舍,意思是当舍入位前面一位是奇数时,就进,为偶数时,就舍,这也是体现公平性的原理。

可是国际惯例往往在国内很多企业行不通,为了应付他们的要求,采用Math.Round(price,2,MidpointRounding.AwayFromZero)就可以了。

Math.Round四舍五入

标签:blog   http   os   ar   sp   div   问题   log   html   

原文地址:http://www.cnblogs.com/zhayunjia/p/4037318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!