c# 简单又好用的四舍五入方法
2013-09-03 20:37 hongjiumu 阅读(4747) 评论(0) 编辑 收藏 举报http://www.soaspx.com/dotnet/csharp/csharp_20100415_3809.html
四舍五入是软件开发中经常遇到的问题,我也在不止一个项目中用到这方面的运算;关于c#的四舍五入,如果你去网上搜会有好多结果,但大部分的内容都是说微软的Math.Round() 不准确,属于“四舍六入五成双”,然后会有很多人自己去写方法来实现,有的很简单,有的很复杂,有的还不对;
其实要实现这个功能,真的不用这么麻烦;大家既然知道c#有Math.Round(),难道就没发现它有多大8个重载方法吗,其中有一个类型是MidpointRounding的参数,只要我们很好的利用它,就完全可以实现很精确的四舍五入,根本不用写那么复杂的方法。
MidpointRounding:指定数学舍入方法应如何处理两个数字间的中间值。
原始数字
取绝对值较大的值
取偶数
3.5
4
4
2.8
3
3
2.5
3
2
2.1
2
2
-2.1
-2
-2
-2.5
-3
-2
-2.8
-3
-3
-3.5
-4
-4
不用我再解释了吧,假如像把3.455四舍五入到3.46,实际上只需要用下面的代码就可以
==============================
Math.Round( 3.455, 2, MidpointRounding.AwayFromZero)
==============================