開発プロセスは、必然的にいくつかの問題をもたらすJavaScriptの小数点精度の問題を浮き、浮動小数点演算を持っています
JavaScriptは、デジタル(数値)の一種類のみです
浮動小数点シンボル内のJavaScriptは、標準IEEE 754倍精度浮動小数点(64)を使用し、64ビットの有効数字、インデックス格納部11、52は浮動小数点
時にはバイナリ無限小数であるので、丸め53から開始され、従って起因ルール時々大きなポイント丸めに「浮動小数点精度の問題」(その結果、(丸めルールは0と1を切り上げです)時々ドット)
次の例を見付
JavaScriptの数学演算
追加
例:0.1 + 0.2
期待される結果:0.3
実際の結果:0.30000000000000004
引き算
例:1.0から0.7
期待される結果:0.3
実際の結果:0.30000000000000004
乗算
例:1.01 * 1.003
期待される結果:1.01303
実際の結果:1.0130299999999999
除算
例:0.029 / 10
期待される結果:0.0029
実際の結果:0.0029000000000000002
注:上記の加算、減算、乗算、除算、それぞれの例では、(もちろん、実際の結果は、我々が望むものではありません)操作のJavaScriptの結果を示し、なぜ結果があり、^ _ ^序文で説明されています!
演算をdecimal.js
JavaScriptのための任意精度のDECIMAL型
GitHubの: https://github.com/MikeMcl/decimal.js
API: http://mikemcl.github.io/decimal.js/
NPM: https://www.npmjs.com/package/decimal.js
先安装decimal.js
npm install --save decimal.js
把上面的示例,用decimal.js运算一次,对比一下结果
转自:https://blog.csdn.net/qq3401247010/article/details/78784788