在C#中,也许你不经常做四舍五入,只是上学学习中的四舍五入和计算机中的四舍五入是不一样的。
5.5四舍五入是6
6.5四舍五入是7
7.5四舍五入是8
8.5四舍五入是9
上面的这个数据结论肯定是对的,都是基于学习知识得到的。
下面我们看C#代码的结果
上面1,2,3,4只是进行了强转,所以所有的值,都是小数点前面的值。
再看案例
首先使用学习到的知识去判断一下:
1对
2错,应该是7
3对
4错,应该是9
“分割线”
5对
6对
7对
8对
结论:
如果是1,2,3,4这种四舍五入的写法,叫做“银行家舍入法”或“偶舍入法”,意思就是遇到偶数的时候,就舍去了,2和4分别对应6.5和8.5,那么小数点左侧是偶数,就舍去了,结果就是6和8,而奇数不会舍去,会进位。
如果是5,6,7,8这种四舍五入的写法,就是我们真实需要的写法,所以,一定要带上这个枚举的值。
否则在程序运行后,因写法不一样,导致的结果不一样,而数据又是变化的,难以排查。