[スイッチ]浮動小数点decimal.js

開発プロセスは、必然的にいくつかの問題をもたらすJavaScriptの小数点精度の問題を浮き、浮動小数点演算を持っています

 JavaScriptは、デジタル(数値)の一種類のみです

 浮動小数点シンボル内のJavaScriptは、標準IEEE 754倍精度浮動小数点(64)を使用し、64ビットの有効数字、インデックス格納部11、52は浮動小数点

 時にはバイナリ無限小数であるので、丸め53から開始され、従って起因ルール時々大きなポイント丸めに「浮動小数点精度の問題」(その結果、(丸めルールは0と1を切り上げです)時々ドット)

 

 次の例を見付

JavaScriptの数学演算

  追加

 

  add.jsサンプルコード

  例:0.1 + 0.2 

  期待される結果:0.3

  実際の結果:0.30000000000000004

 

 引き算

 

  sub.jsサンプルコード

  例:1.0から0.7 

  期待される結果:0.3

  実際の結果:0.30000000000000004

 

 乗算

  

  mul.jsサンプルコード

  例:1.01 * 1.003

  期待される結果:1.01303

  実際の結果:1.0130299999999999

 

 除算

 

  div.jsサンプルコード

  例: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

おすすめ

転載: www.cnblogs.com/ToBeBest/p/11315418.html