2026年8月17日 星期一

關於 Number 的整數有效值

 關於 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 乘上負號。


參考資料

[ developer.mozilla.org ] Number.MAX_SAFE_INTEGER

沒有留言:

張貼留言