欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-06 20:44:26
1 、tofixed方法   tofixed() 方法可把 number 四舍五入为指定小数位数的数字。例如将数据num保留2位小数,则表示为:tofixed(num);...

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