当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JS使用tofixed与round处理数据四舍五入的区别

JS使用tofixed与round处理数据四舍五入的区别

2017年12月12日  | 移动技术网IT编程  | 我要评论

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处理数据四舍五入的区别,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网