亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當我將它記錄到控制臺時,為什么 JavaScript 會四舍五入這個數字?

當我將它記錄到控制臺時,為什么 JavaScript 會四舍五入這個數字?

楊魅力 2022-12-29 16:34:07
為什么:console.log( 9999999999999999 ); //log 10000000000000000This article提到它但我實際上不明白為什么
查看完整描述

1 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

因為 javascript 像這樣處理數字。你應該考慮到它不會失敗。您可以在此處閱讀相關信息。 http://speakingjs.com/es5/ch11.html

對于 54 位,最低有效位始終為 0,對于 55 位,兩個最低有效位始終為 0,依此類推。這意味著對于 54 位,我們只能表示每隔兩個數字,對于 55 位只能表示每四個數字,依此類推。例如:

Math.pow(2, 53) - 1 // OK 9007199254740991
Math.pow(2, 53) // OK 9007199254740992
Math.pow(2, 53) + 1 // 無法表示 9007199254740992
Math.pow(2, 53) + 2 // 好的 9007199254740994

最佳實踐

如果您使用高達 53 位大小的整數,則沒有問題。不幸的是,您會經常在編程(Twitter ID、數據庫等)中遇到 64 位無符號整數。這些必須存儲在 JavaScript 中的字符串中。如果你想用這樣的整數進行算術運算,你需要特殊的庫。有計劃將更大的整數引入 JavaScript,但這需要一段時間。


查看完整回答
反對 回復 2022-12-29
  • 1 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號