Math.Round函数四舍五入
2024-10-19 14:51:00
Math.Round函数四舍五入的问题
今天客户跑过来跟我说,我们程序里面计算的价格不对,我检查了一下,发现价格是经过折算后的价格,结果是可能小数位较多,而单据上只能打印两位价格,所以就对价格调用Math.Round(price,2)函数进行四舍五入。
而出现问题的单价就是1.805,函数Math.Round(1.085,2)的返回值却是1.80,按照四舍五入的原则,结果应该是1.81才对。
在一番google之后,发现微软是对了,是我们错了。:(
原来四舍五入也有个国际惯例,叫奇进偶舍,意思是当舍入位前面一位是奇数时,就进,为偶数时,就舍,这也是体现公平性的原理。
可是国际惯例往往在国内很多企业行不通,为了应付他们的要求,采用Math.Round(price,2,MidpointRounding.AwayFromZero)就可以了。
最新文章
- ASP.NET获取客户端IP地址
- Ubuntu菜鸟入门(三)—— 无用软件卸载,wps等常用软件安装
- mklink
- 万万没想到,3D打印居然可以做这些逆天设计
- 碰到sshd连接不上linux时的解决办法
- UVA 674 Coin Change (DP)
- c语言结构体1之定义
- 【JQuery】Could not find action or result No result defined for action
- Jmeter性能测试
- hdu--1316--How Many Fibs?(java大数)
- 使用js做创建图片及删除图片 若有什么不对或不完整的地方,请大家提出来,谢谢
- Storm入门(八)Storm实战常见问题总结(持续更新)
- 4.28Linux(6)
- vue-router 之 keep-alive
- function()
- Python中正则表达式的巧妙使用
- 【Mysql】mysql使用触发器创建hash索引
- unity 向量赋值 传引用?传值?
- linux_关闭防火墙
- 传输层两大协议:TCP和UDP