簡體   English   中英

JavaScript浮點數

[英]JavaScript floating point

我想知道JavaScript的浮點限制是什么。 我有以下代碼無法返回詳細的浮點結果,如下所示:

2e-2 is the same as 0.02



var numero = 1E-12;
document.write(numero);

返回1e-12。

JavaScript可以處理的最大指數結果是什么?

JavaScript是ECMAScript的實現,在Ecma-262和ISO / IEC 16262中指定。Ecma-262指定使用IEEE 754 64位二進制浮點。

在此格式中,最小的正數是2 –1074 (略高於4.94e–324),最大的有限數是2 1024 –2 971 (略低於1.798e308)。 可以表示無窮大,因此從這個意義上講,JavaScript中的數字值沒有上限。

這種格式的數字最多有53位有效數字(小數部分)。 (小於2 –1022的數字是次正規的,並且具有較少的位數。)位數的限制意味着許多數字無法准確表示,例如示例中的.02。 因此,算術運算的結果將四舍五入到最接近的可表示值,並且計算鏈中的錯誤甚至可能是災難性的,都可能抵消或累積。

該格式還包括一些特殊的實體,稱為NaN(表示非數字)。 NaN可以用於指示數字尚未初始化(出於特殊調試目的),或表示沒有數字適合的運算結果(例如–1的平方根)。

小於零的最大值。

有一個詳細的討論在這里 基本上,將以指數形式顯示0.00000x(小數點后5個零)。

當然,您可以自己進行測試;)特別是查看此行為是否是可靠的跨瀏覽器。

就我個人而言,我不認為您應該關注或依賴這種行為。 當您顯示數字時,只需適當地設置其格式即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM