[英]Does JavaScript have double floating point number precision?
我知道這是一個奇怪的問題,但是 JavaScript 是否有能力使用雙精度而不是單浮點數? (64 位浮點數與 32 位。)
根據 ECMA-262 規范(ECMAScript 是 Javascript 的規范),第 8.5 節:
Number 類型正好有 18437736874454810627(即 2 64 −2 53 +3)個值,表示 IEEE 二進制浮點運算標准中指定的雙精度 64 位格式 IEEE 754 值
來源: http : //www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf (PDF)
JavaScript 中的所有數字都是 64 位浮點數。
參考:
http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Reference
在javascript類型number中,它是支持IEEE 754標准的64位浮點數,就像C中的double一樣。您可以通過下面的命令創建32位類型化數組,並通過綁定相應的緩沖區來控制每個組件中的每個字節。
let a = new Float32Array(length);
let b = new Float64Array(length);
但請注意,它在 IE9 中不受支持,這里是瀏覽器兼容性表。
如果你想要像long double這樣的擴展精度,你可以使用double.js或decimal.js庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.