javascript(js)的小数点乘法除法问题
2013-07-02 18:16
337 查看
用js计算
12.32 * 7 结果是多少?
答案:86.24000000000001
为什么会出现这种问题?怎么解决?
js在处理小数的乘除法的时候有一个bug,解决的方法可以是:将小数变为整数来处理。
以上的计算可以改为:
12.32 * 100 * 7 /100
得出的结果是:86.24,正确。
另外再计算一下:
8.80 * 100 * 12 / 100
结果:105.60000000000002
38.80也会出现类似的问题。
精确度增加10倍:
8.80 * 1000 * 12 / 1000
结果:105.6
正常了。
16.40 * 1000000 * 6 / 1000000
结果也有问题
为了让js执行的更准确,在以后的js小数计算中直接将值扩大10000倍,再除以10000,就可以解决问题。
var num = 38.80;
var num2 = 13;
alert(num * 10000 * 12 / 10000);
被乘和除的这个数经过测试10000最合适,小了有些数字出问题,大了(1000000)有些数字也出问题。
12.32 * 7 结果是多少?
答案:86.24000000000001
为什么会出现这种问题?怎么解决?
js在处理小数的乘除法的时候有一个bug,解决的方法可以是:将小数变为整数来处理。
以上的计算可以改为:
12.32 * 100 * 7 /100
得出的结果是:86.24,正确。
另外再计算一下:
8.80 * 100 * 12 / 100
结果:105.60000000000002
38.80也会出现类似的问题。
精确度增加10倍:
8.80 * 1000 * 12 / 1000
结果:105.6
正常了。
16.40 * 1000000 * 6 / 1000000
结果也有问题
为了让js执行的更准确,在以后的js小数计算中直接将值扩大10000倍,再除以10000,就可以解决问题。
var num = 38.80;
var num2 = 13;
alert(num * 10000 * 12 / 10000);
被乘和除的这个数经过测试10000最合适,小了有些数字出问题,大了(1000000)有些数字也出问题。
相关文章推荐
- javascript(js)的小数点乘法除法问题
- javascript(js)的小数点乘法除法问题
- javascript(js)的小数点乘法除法问题详解
- javascript(js)的小数点乘法除法问题
- (小数)javascript(js)的小数点乘法除法问题
- javascript(js)的小数点乘法除法问题
- javascript(js)的小数点乘法除法问题
- javascript(js)的小数点乘法除法问题
- JS小数点乘法除法问题详解
- javascript(js)的小数点乘法除法问…
- js 乘法除法精度问题
- javascript(js)的小数点加减乘除问题
- java中的除法和乘法的若干问题
- 【js】JavaScript浮点数计算出错问题
- c#除法中小数点的问题
- 让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
- [javascript]js环境污染造成的问题
- :底座和奇怪的问题算法执行另外、乘法、不加区分除法性能?
- doT.js——前端javascript模板引擎问题备忘录