幽默:Javascript為什麼算術沒算好?
JS的整數轉換函式parseInt在轉換特別大的整數會出錯:
parseInt(0.5); // => 0 parseInt(0.05); // => 0 parseInt(0.005); // => 0 parseInt(0.0005); // => 0 parseInt(0.00005); // => 0 parseInt(0.000005); // => 0 parseInt(0.0000005); // => 5 |
parseInt函式預設將輸入引數視同“字串String”型別,然後才開始解析這個輸入引數;
如果輸入引數不是字串,則轉化為“字串String”型別。
但是對於對於非常小的和非常大的數字,在其被轉換為字串的同時轉換為指數表示。
0.0000005 :"5e-7" 999999999999999999999 (21 9) : "1e+21" |
那麼對於
parseInt(0.0000005)
則轉為字串的指數:
parseInt("5e-7")
最後輸出:
5
相關文章
- 幽默:為什麼人工智慧比不上貓狗?人工智慧
- 什麼才算好的監控系統?
- 為什麼在遊戲中製造幽默這麼難?遊戲
- 幽默:什麼是價值?
- 為什麼Hook沒有ErrorBoundary?HookErrorORB
- 為什麼Google沒有客服?Go
- java中a=a++值為什麼沒有改變?棧運算解析Java
- javascript怎麼實現算術加法運算JavaScript
- 程式設計沒點為什麼,生活就是十萬個為什麼程式設計
- 幽默:什麼是離線思考?
- Twitter為什麼沒有當機?
- 幽默:為什麼DDD的Bounded Context翻譯為"有界上下文"?Context
- 為什麼總有人黑 JavaScript?JavaScript
- 為什麼Javascript需要型別?JavaScript型別
- 原創:為什麼是javascript?JavaScript
- 為什麼 JavaScript 的 this 要這麼用?JavaScript
- 為什麼業務天天問技術你的技術產生什麼業務價值?可以到測試這邊為什麼天天覺得業務測試沒技術含量?
- 雲端計算技術是什麼?雲端計算有什麼優勢?
- MySQL Connectors為什麼沒有javaMySqlJava
- 為什麼Lisp沒有流行起來Lisp
- 為什麼沒有普及128位操縱系統的計算機?計算機
- 什麼是技術債,為什麼要還技術債?
- JavaScript 為什麼能活到現在?JavaScript
- 為什麼 JavaScript 會無處不在?JavaScript
- 為什麼要用原生 JavaScript 代替 jQuery?JavaScriptjQuery
- 為什麼寫技術文章?
- 為什麼?為什麼?Java處理排序後的陣列比沒有排序的快?想過沒有?Java排序陣列
- 為什麼Android沒有iOS那麼順滑AndroidiOS
- OptionalInt為什麼沒有ofNullable()方法Null
- Ubuntu 安裝後為什麼沒有中文?Ubuntu
- 抖音 apk 為什麼沒有 launchable-activityAPK
- jdon framework 為什麼沒有用Event Source 呢Framework
- 幽默:什麼是業務邏輯程式碼?
- 幽默:程式設計師看比爾蓋茲為什麼要離婚?程式設計師
- 為什麼Web前端語言只有JavaScript?Web前端JavaScript
- 為什麼JavaScript需要模組化開發?JavaScript
- 為什麼JavaScript開發如此瘋狂JavaScript
- 為什麼JavaScript也將征服VR世界JavaScriptVR