文字列値を数値に変換することになっているJS関数を使用しています。JS番号関数は末尾にゼロを追加します
小さな数字の場合は問題ありません。大きなもののために - それはイメージに示すように、ゼロで値をsubstitudeし始めている:
この問題の回避策はありますか?
文字列値を数値に変換することになっているJS関数を使用しています。JS番号関数は末尾にゼロを追加します
小さな数字の場合は問題ありません。大きなもののために - それはイメージに示すように、ゼロで値をsubstitudeし始めている:
この問題の回避策はありますか?
を9007199254740991
です。つまり、すべての正の整数と負の整数はそれぞれ-9007199254740991
と9007199254740991
を超えてはいけません。
同じことを2 -1と定義する。
console.log(Number.isSafeInteger(parseInt('1111111111')))
console.log(parseInt('1111111111'))
console.log(Number.isSafeInteger(parseInt('111111111111111111')))
console.log(parseInt('111111111111111111'))
//9007199254740991 - The largest JS Number
console.log(Number.isSafeInteger(parseInt('9007199254740991')))
あなたはNumber.MAX_SAFE_INTEGER
よりも大きい数字を使用していて、Javascriptがチェックし、正しく
使用Number.isSafeInteger
これらの番号を表すために保証するものではありませんので、これはです:JS、最大の整数値で
> Number.isSafeInteger(Number('111111111111111111'))
< false