javascript數(shù)字用64位浮點(diǎn)格式表示。在javascript中,數(shù)字不分為整數(shù)類(lèi)型和浮點(diǎn)型類(lèi)型,所有數(shù)字都是浮點(diǎn)型,統(tǒng)一展示為Number類(lèi)型,采用IEEE754標(biāo)準(zhǔn)定義的64位浮點(diǎn)格式來(lái)表示;其能表示的最小值為“±5e-324”。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript數(shù)字用64位浮點(diǎn)格式表示。
JavaScript 與許多其他編程語(yǔ)言不同,JavaScript 不定義不同類(lèi)型的數(shù)字,比如整數(shù)、短、長(zhǎng)、浮點(diǎn)等等。JavaScript 只有一種數(shù)字類(lèi)型。
在JavaScript中,數(shù)字不分為整數(shù)類(lèi)型和浮點(diǎn)型類(lèi)型,所有的數(shù)字都是 浮點(diǎn)型類(lèi)型,統(tǒng)一使用 Number 類(lèi)型表示。JavaScript 采用 IEEE754 標(biāo)準(zhǔn)定義的 64 位浮點(diǎn)格式表示數(shù)字。它能表示最大值(Number.MAX_VALUE)為 ±1.7976931348623157e+308,最小值(Number.MIN_VALUE)為 ±5e-324。
此格式用 64 位存儲(chǔ)數(shù)值,其中 0 到 51 存儲(chǔ)數(shù)字(片段),52 到 62 存儲(chǔ)指數(shù),63 位存儲(chǔ)符號(hào):
值 (aka Fraction/Mantissa) | 指數(shù)(Exponent) | 符號(hào)(Sign) |
---|---|---|
52 bits (0 – 51) | 11 bits (52 – 62) | 1 bit (63) |
Number 類(lèi)型中還有一些比較特殊的值,分別為 Infinity、-Infinity 和 NaN,其中
-
Infinity:用來(lái)表示正無(wú)窮大的數(shù)值,一般指大于 1.7976931348623157e+308 的數(shù);
-
-Infinity:用來(lái)表示負(fù)無(wú)窮大的數(shù)值,一般指小于 5e-324 的數(shù);
-
NaN:即非數(shù)值(Not a Number 的縮寫(xiě)),用來(lái)表示無(wú)效或未定義的數(shù)學(xué)運(yùn)算結(jié)構(gòu),例如 0 除以 0。
提示:如果某次計(jì)算的結(jié)果超出了 JavaScript 中 Number 類(lèi)型的取值范圍,那么這個(gè)數(shù)就會(huì)自動(dòng)轉(zhuǎn)化為無(wú)窮大,正數(shù)為 Infinity,負(fù)數(shù)為 -Infinity。
精度
整數(shù)(不使用小數(shù)點(diǎn)或指數(shù)計(jì)數(shù)法)最多為 15 位。
var x = 999999999999999; // x 為 999999999999999 var y = 9999999999999999; // y 為 10000000000000000
小數(shù)的最大位數(shù)是 17,但是浮點(diǎn)運(yùn)算并不總是 100% 準(zhǔn)確:
var x = 0.2+0.1; // 輸出結(jié)果為 0.30000000000000004
【