手机版

js数字舍入误差及其解决方案(必看)

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

1.原因:

返回的结果为真。

2.原因:计算机的二进制实现和位数的限制,有些数字不能用有限的方式表示。就像有些无理数不能用有限项表示一样,比如pi 3.1415926,pi 1.3333等。JS遵循IEEE 754标准,采用双精度,占用64位。

3.解决方法

(1)toFixed(),有兼容性(chrome)

(2)相对安全的方法(如果数量太大,会出现错误):

*在js中可以准确表达的最大整数是Math.pow(2,53),十进制为9007199254740992。大于9007199254740992可能会失去准确性

函数round (num,d) {//step 1:将num放大10的d次方num*=Math.pow(10,d);//step 2: round num=math . round(num);//Step:返回num要减10倍的d次方,得到最终结果:返回num/Math.round(10,d);} console . log(round(123.456));//123.46以上js舍入误差及解决方法(必读文章)都是边肖分享的内容,希望能给大家一个参考和支持。

版权声明:js数字舍入误差及其解决方案(必看)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。