版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
在使用浮点计算的时候明明1.56+0.07=1.63,小学生都会算的可是计算机为什么算出来很长一段數字呢?
因为JavaScript 里的数字是采用 的 64 位双精度浮点数该规范定义了浮点数的格式。
不说话直接上代码看看:
运行一下加法看看结果~~~
重新写了┅些浮点运算的函数或直接扩大倍数运算
下面以扩大倍数运算举例子:【原理把小数变成整数,然后做运算处理再除以放大倍数】
在使用浮点计算的时候明明1.56+0.07=1.63,小学生都会算的可是计算机为什么算出来很长一段數字呢?
因为JavaScript 里的数字是采用 的 64 位双精度浮点数该规范定义了浮点数的格式。
不说话直接上代码看看:
运行一下加法看看结果~~~
重新写了┅些浮点运算的函数或直接扩大倍数运算
下面以扩大倍数运算举例子:【原理把小数变成整数,然后做运算处理再除以放大倍数】
注意:一个数乘以100的时候,也需要用到printFn方法
1.1*100 计算出来的结果都有问题
在js中进行js加减乘除除运算,会出现精度问题!
在js中做小数运算的时候尽量将值扩夶10000倍,再除以10000倍这样会更加精确一些!