本文共 1356 字,大约阅读时间需要 4 分钟。
终结:大于五全部加,等于五正数加,小于五全不加。
还有一个问题就是奇进偶舍的原则
今天客户跑过来跟我说,我们程序里面计算的价格不对,我检查了一下,发现价格是经过折算后的价格,结果是可能小数位较多,而单据上只能打印两位价格,所以就对价格调用Math.Round(price,2)函数进行四舍五入。
而出现问题的单价就是1.805,函数Math.Round(1.805,2)的返回值却是1.80,按照四舍五入的原则,结果应该是1.81才对。 在一番google之后,发现微软是对了,是我们错了。:( 原来四舍五入也有个国际惯例,叫奇进偶舍,意思是当舍入位前面一位是奇数时,就进,为偶数时,就舍,这也是体现公平性的原理。 可是国际惯例往往在国内很多企业行不通,为了应付他们的要求,采用Math.Round(price,2,MidpointRounding.AwayFromZero)就可以了。转载地址:http://isupi.baihongyu.com/