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处理数据四舍五入(tofixed与round的区别详解)
- Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
- Javascript中 toFixed四舍六入方法
- JavaScript中Number对象的toFixed() 方法详解
- js toFixed()方法的重写实现精度的统一
- js保留两位小数使用toFixed实现
- javascript中的toFixed固定小数位数 简单实例分享
- JS中toFixed()方法引起的问题如何解决
- JavaScript toFixed() 方法
- javascript之对系统的toFixed()方法的修正
- javascript中toFixed()四舍五入使用方法详解
- JS处理数据四舍五入(tofixed与round的区别详解)
- JS处理数据四舍五入(tofixed与round的区别详解)
- 使用node.js中的Buffer类处理二进制数据的方法
- Node.js使用Buffer类处理二进制数据(一)
- 通过JS使用自定义属性处理数据
- Node.js使用Buffer类处理二进制数据(二)
- logstash使用之输入阶段和过滤阶段处理数据的区别
- js四舍五入数学函数round使用实例
- 使用js-ctypes——处理数据
- Node.js——使用Buffer类处理二进制数据
- 使用json把php数据传给js处理
- 使用template.js处理数据
- js 中处理金额数据 四舍五入数据(,处理和保留小数处理)
- Node.js权威指南 (5) - 使用Buffer类处理二进制数据
- 跟我一起学Windows Workflow Foundation(3)-----使用If/Else活动,定制活动处理工作流,使用事件传递数据
- JST+JSON+AJAX——使用客户端js模版代替服务端数据绑定
- 使用 EL、JSTL 处理表单数据(转载)
- 使用Hibernate处理数据(Hibernate Your Data)(英语原文)
- 使用Hibernate处理数据