JS使用tofixed与round处理数据四舍五入的区别
1 、tofixed方法
tofixed() 方法可把 number 四舍五入为指定小数位数的数字。例如将数据num保留2位小数,则表示为:tofixed(num);但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则,银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。具体规则如下:
简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。
显然这种规则不符合我们平常在数据中处理的方式。为了解决这样的问题,可以自定义去使用math.round方法进行自定义式 的实现指定保留多少位数据进行处理。
2 、 round方法
round() 方法可把一个数字舍入为最接近的整数。例如:math.round(x),则是将x取其最接近的整数。其取舍的方法使用的是四舍五入中的方法,符合数学中取舍的规则。对于小数的处理没有那么便捷,但是可以根据不同的要求,进行自定义的处理。
例如:对于x进行保留两位小数的处理,则可以使用math.round(x * 100) / 100.进行处理。
ps:四舍五入:javascript tofixed() 方法 和 math.round 方法比较
math.round (vs2005) math.round(3.44, 1); //returns 3.4. math.round(3.45, 1); //returns 3.4. math.round(3.46, 1); //returns 3.5.
在工程技术、金融和科学领域,我们往往认为将一个小数圆整到距离它最近的偶数(而并非总是将它向上圆整)更加精确,即我们在此所说的“四舍六入”法。
math.round()方法使用的银行家算法的依据,是ieee standard 754这个国际标准
“四舍六入法”可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一。”
总结
以上所述是小编给大家介绍的js使用tofixed与round处理数据四舍五入的区别,希望对大家有所帮助
上一篇: JS实现table表格固定表头且表头随横向滚动而滚动
下一篇: 原生js中ajax访问的实例详解