Math.Round函数四舍五入的问题

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

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

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

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

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

最新文章

  1. ASP.NET获取客户端IP地址
  2. Ubuntu菜鸟入门(三)—— 无用软件卸载,wps等常用软件安装
  3. mklink
  4. 万万没想到,3D打印居然可以做这些逆天设计
  5. 碰到sshd连接不上linux时的解决办法
  6. UVA 674 Coin Change (DP)
  7. c语言结构体1之定义
  8. 【JQuery】Could not find action or result No result defined for action
  9. Jmeter性能测试
  10. hdu--1316--How Many Fibs?(java大数)
  11. 使用js做创建图片及删除图片 若有什么不对或不完整的地方,请大家提出来,谢谢
  12. Storm入门(八)Storm实战常见问题总结(持续更新)
  13. 4.28Linux(6)
  14. vue-router 之 keep-alive
  15. function()
  16. Python中正则表达式的巧妙使用
  17. 【Mysql】mysql使用触发器创建hash索引
  18. unity 向量赋值 传引用?传值?
  19. linux_关闭防火墙
  20. 传输层两大协议:TCP和UDP

热门文章

  1. .NET应用架构设计—再次了解分层架构(现代企业应用分层架构核心设计元素)
  2. swift类名称显示变量
  3. OSChina 的URL类的源代码重写过程
  4. nodejs 模拟form表单上传文件
  5. WinJS Clipboard
  6. MKMapView移动事件地图
  7. 使用Eclipse设定Android开发环境
  8. ABP项目中的使用AutoMapper
  9. myeclipse解决JSP文件script调整背景颜色
  10. 在ASP.NET2.0里打印网页指定的内容(比如打印网页里的一个Table)