關於 Number 的整數有效值
前言
最近才知道原來 Number 在表達整數時會有有效值的範圍,超出去的時候是不會有任何警告的,不過有提供相關函數來檢查,在此把學習的過程做個紀錄。
內容
範例如下
console.log( Number.MAX_SAFE_INTEGER );//9007199254740991 console.log( Number.MAX_SAFE_INTEGER + 100);//9007199254741092 // console.log( Number.isSafeInteger( Number.MAX_SAFE_INTEGER ) );//true console.log( Number.isSafeInteger( Number.MAX_SAFE_INTEGER + 1) );//false // console.log( Number.MIN_SAFE_INTEGER );//-9007199254740991
Number 的最大有效值可以透過 Number.MAX_SAFE_INTEGER 來檢查,可以看到當範例對 Number.MAX_SAFE_INTEGER 加 100 後的結果是不正確的!也就是當超過有效值的範圍後勢不保證結果正確的!要確認是否為有效值可以透過 Number.isSafeInteger() 來確認。有 Number.MAX_SAFE_INTEGER 當然就有 Number.MIN_SAFE_INTEGER ,它其實就是 Number.MAX_SAFE_INTEGER 乘上負號。
沒有留言:
張貼留言