2017-07-20 17 views
7

文字列値を数値に変換することになっている​​JS関数を使用しています。JS番号関数は末尾にゼロを追加します

小さな数字の場合は問題ありません。大きなもののために - それはイメージに示すように、ゼロで値をsubstitudeし始めている:

enter image description here

この問題の回避策はありますか?

答えて

2

9007199254740991です。つまり、すべての正の整数と負の整数はそれぞれ-90071992547409919007199254740991を超えてはいけません。

同じことを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')))

2

あなたはNumber.MAX_SAFE_INTEGERよりも大きい数字を使用していて、Javascriptがチェックし、正しく

使用Number.isSafeIntegerこれらの番号を表すために保証するものではありませんので、これはです:JS、最大の整数値で

> Number.isSafeInteger(Number('111111111111111111')) 
< false 
関連する問題