今天客户反馈一个数据采集程序的问题,采集到的数据取整处理,根据她的描述取整得到的数字没有规律,有时候会进位,有时候会舍去。
针对这个场景查看了代码实现,代码的处理就是用了自带的函数Math.Round(),官方的解释是四舍六入五取偶,主要表现在数值刚好为5的时候的差异性,具体代码如下:
如果数值为奇数则进位变为偶数,如果为偶数则舍去
如果要遵循四舍五入的规则,该函数也提供了重载方法,代码如下:
不管是四舍五入还是四舍六入五取偶,都会存在误差,这种处理本身就是取决于业务的容忍度,对数值要求精确度的问题。