まず、どのように浮動小数点へデータを転送する https://www.zhihu.com/question/21711083
二、JSの数
JavaScriptでは、すべての数値は、64ビット浮動小数点数、真偶数の整数として格納され、すべての整数および浮動小数点データ・タイプの数です。
第三に、何が問題の原因?
1、精度の分別損失は、0.1 + 0.2〜0.3に等しくありません
図2に示すように、整数の最大範囲
(-9007199254740991、1)、Number.MIN_SAFE_INTEGER - - (253)整数の安全範囲と最小 - それが最大カウント(1、Number.MAX_SAFE_INTEGER、9007199254740991 253)により最大54の整数です。だから、限り、この範囲を超えると、精度の問題がある破棄されます。
第四に、ソリューション
オープンソースライブラリ、BIGINT、
0.1 + 0.2-0.3 // 5.551115123125783e-17
5.551115123125783e-17.toFixed(20)// '0.00000000000000005551'
5.551115123125783e-17 <Number.EPSILON * Math.pow(2,2)//真
ます。https://www.jianshu.com/p/e071e1da8dfdで再現