最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JavaScript 中的 Number類型

2023-03-03 23:10 作者:早起的年輕人  | 我要投稿

JavaScript? 中最基本的數(shù)值字面量格式是十進制整數(shù),直接寫出來即可:

整數(shù)也可以用八進制(以8為基數(shù))或十六進制(以16為基數(shù))字面量表示。

對于八進制字面量,第一個數(shù)字必須是零(0),然后是相應的八進制數(shù)字(數(shù)值0~7)。

如果字面量中包含的數(shù)字超出了應有的范圍,就會忽略前綴的零,后面的數(shù)字序列會被當成十進制數(shù),如下所示:

要創(chuàng)建十六進制字面量,必須讓真正的數(shù)值前綴0x(區(qū)分大小寫),然后是十六進制數(shù)字(0~9以及A~F)。十六進制數(shù)字中的字母大小寫均可。下面是幾個例子:

浮點值,數(shù)值中必須包含小數(shù)點,而且小數(shù)點后面必須至少有一個數(shù)字。雖然小數(shù)點前面不是必須有整數(shù),但推薦加上。下面是幾個例子:

因為存儲浮點值使用的內(nèi)存空間是存儲整數(shù)值的兩倍,所以ECMAScript總是想方設法把值轉(zhuǎn)換為整數(shù)。在小數(shù)點后面沒有數(shù)字的情況下,數(shù)值就會變成整數(shù)。

類似地,如果數(shù)值本身就是整數(shù),只是小數(shù)點后面跟著0(如1.0),那它也會被轉(zhuǎn)換為整數(shù),如下例所示:

對于非常大或非常小的數(shù)值,浮點值可以用科學記數(shù)法來表示:

科學記數(shù)法也可以用于表示非常小的數(shù)值,例如0.00000000000000003。這個數(shù)值用科學記數(shù)法可以表示為3e-17。默認情況下,ECMAScript會將小數(shù)點后至少包含6個零的浮點值轉(zhuǎn)換為科學記數(shù)法(例如,0.000000 3會被轉(zhuǎn)換為3e-7)。

浮點值的精確度最高可達17位小數(shù),但在算術計算中遠不如整數(shù)精確。例如,0.1加0.2得到的不是0.3,而是0.30000000000000004。由于這種微小的舍入錯誤,導致很難測試特定的浮點值。比如下面的例子:

這里檢測兩個數(shù)值之和是否等于0.3。如果兩個數(shù)值分別是0.05和0.25,或者0.15和0.15,那沒問題。但如果是0.1和0.2,如前所述,測試將失敗。因此永遠不要測試某個特定的浮點值。


由于內(nèi)存的限制,ECMAScript并不支持表示這個世界上的所有數(shù)值。

ECMAScript可以表示的最小數(shù)值保存在Number.MIN_VALUE中,這個值在多數(shù)瀏覽器中是5e-324;可以表示的最大數(shù)值保存在Number.MAX_VALUE中,這個值在多數(shù)瀏覽器中是1.797693134862315 7e+308。

如果某個計算得到的數(shù)值結果超出了JavaScript可以表示的范圍,那么這個數(shù)值會被自動轉(zhuǎn)換為一個特殊的Infinity(無窮)值。任何無法表示的負數(shù)以-Infinity(負無窮大)表示,任何無法表示的正數(shù)以Infinity(正無窮大)表示。

如果計算返回正Infinity或負Infinity,則該值將不能再進一步用于任何計算。這是因為Infinity沒有可用于計算的數(shù)值表示形式。要確定一個值是不是有限大(即介于JavaScript能表示的最小值和最大值之間),可以使用isFinite()函數(shù),如下所示:

有一個特殊的數(shù)值叫NaN,意思是“不是數(shù)值”(Not a Number),用于表示本來要返回數(shù)值的操作失敗了(而不是拋出錯誤)。比如,用0除任意數(shù)值在其他語言中通常都會導致錯誤,從而中止代碼執(zhí)行。但在ECMAScript中,0、+0或-0相除會返回NaN:

如果分子是非0值,分母是有符號0或無符號0,則會返回Infinity或-Infinity:

NaN有幾個獨特的屬性。首先,任何涉及NaN的操作始終返回NaN(如NaN/10),在連續(xù)多步計算時這可能是個問題。其次,NaN不等于包括NaN在內(nèi)的任何值。例如,下面的比較操作會返回false:

為此,ECMAScript提供了isNaN()函數(shù)。該函數(shù)接收一個參數(shù),可以是任意數(shù)據(jù)類型,然后判斷這個參數(shù)是否“不是數(shù)值”。把一個值傳給isNaN()后,該函數(shù)會嘗試把它轉(zhuǎn)換為數(shù)值。某些非數(shù)值的值可以直接轉(zhuǎn)換成數(shù)值,如字符串"10"或布爾值。任何不能轉(zhuǎn)換為數(shù)值的值都會導致這個函數(shù)返回true。舉例如下:


JavaScript 中的 Number類型的評論 (共 條)

分享到微博請遵守國家法律
新源县| 忻城县| 锡林郭勒盟| 克什克腾旗| 乐昌市| 台东市| 肥西县| 铜山县| 确山县| 昭通市| 合阳县| 清原| 石柱| 成安县| 永昌县| 屏边| 河东区| 太保市| 山西省| 育儿| 宣威市| 淳化县| 清涧县| 千阳县| 仲巴县| 大埔区| 威宁| 德钦县| 贡嘎县| 类乌齐县| 久治县| 日土县| 新竹县| 子洲县| 水富县| 蕉岭县| 铜陵市| 搜索| 晋江市| 神池县| 无棣县|