摘要:如果等于則返回字符串。注意表示十進(jìn)制表現(xiàn)形式的位數(shù),不能被整除,并且的最低有效位數(shù)不必由這些標(biāo)準(zhǔn)唯一地確定??茖W(xué)計(jì)數(shù)法步驟描述了小于位的正整數(shù)正常顯示步驟有一個(gè)隱含條件未直說(shuō),即。步驟規(guī)定了非以上情況下使用科學(xué)計(jì)數(shù)法。
章節(jié)翻譯
7.1.12.1 NumberToString ( m )代碼單元抽象操作 NumberToString 將 Number 類(lèi)型的變量 m 轉(zhuǎn)換成 String 格式,步驟如下:
如果 m 等于 NaN,則返回字符串 "NaN" 。
如果 m 等于 +0 或 -0,則返回字符串 "0" 。
如果 m 小于 0,則返回字符串 "-" 和 ! NumberToString(-m) 。
如果 m 等于 +∞, 則返回字符串 "Infinity"。
否則,假設(shè) n、k 和 s 都是整數(shù),并且 k ≥ 1、 10k-1≤ s < 10k,m 等于 s × 10n-k,k 盡可能小。注意:k 表示 s(十進(jìn)制表現(xiàn)形式)的位數(shù),s 不能被 10 整除,并且 s 的最低有效位數(shù)不必由這些標(biāo)準(zhǔn)唯一地確定。
如果 k ≤ n ≤ 21,則返回以下字符串:
s 的十進(jìn)制表示的 k 位數(shù)的代碼單位(按順序,沒(méi)有前導(dǎo)零)
出現(xiàn) n-k 次代碼單元 0x0030(DIGIT ZERO)
如果 0 < n ≤ 21,則返回以下字符串:
s 的十進(jìn)制表示的最高 n 位數(shù)的代碼單元
代碼單元 0x002E (FULL STOP)
s 的十進(jìn)制表示的剩余 k-n 位的代碼單元
如果 -6 < n ≤ 0,則返回以下字符串:
代碼單元 0x0030 (DIGIT ZERO)
代碼單元 0x002E (FULL STOP)
出現(xiàn) -n 次代碼單元 0x0030 (DIGIT ZERO)
s 的十進(jìn)制表示的 k 位的代碼單元
否則,假如 k = 1,則返回以下字符串:
單個(gè)位數(shù) s 的代碼單元
代碼單元 0x0065 (LATIN SMALL LETTER E)
如果 n-1 是正數(shù),則返回代碼單元 0x002B (PLUS SIGN),否則,返回代碼單元 0x002D (HYPHEN-MINUS)
整數(shù) abs(n-1) 的十進(jìn)制表示的代碼單位(沒(méi)有前導(dǎo)零)
返回以下字符串:
s 的十進(jìn)制表示的最高有效位的代碼單元
代碼單元 0x002E (FULL STOP)
s 的十進(jìn)制表示的剩余 k-1 個(gè)位代碼單元
代碼單元 0x0065 (LATIN SMALL LETTER E)
如果 n-1 是正數(shù),則返回代碼單元 0x002B (PLUS SIGN),否則,返回代碼單元 0x002D (HYPHEN-MINUS)
整數(shù) abs(n-1) 的十進(jìn)制表示的代碼單位(沒(méi)有前導(dǎo)零)
參考
典型例子 被忽略的符號(hào)String(+NaN) // "NaN" String(-NaN) // "NaN" String(+0) // "0" String(-0) // "0" String(-1) // "1"
無(wú)論 NaN 帶不帶符號(hào),數(shù)值都是 NaN
第二步規(guī)定了對(duì) 0 的符號(hào)進(jìn)行忽略
第三步之外的步驟都忽略了正數(shù)的符號(hào)
前導(dǎo) 0String(99) // "99" String(099) // "99"
見(jiàn)步驟 6、9、10
進(jìn)制數(shù)String(11) // "11" String(011) // "9"
通通轉(zhuǎn)換成十進(jìn)制先。
科學(xué)計(jì)數(shù)法String(1e20) // "100000000000000000000" String(1e21) // "1e21" String(1e-6) // "0.000001" String(1e-7) // "1e-7"
步驟 6 描述了小于21位的正整數(shù)“正常顯示”
步驟 7 有一個(gè)隱含條件未直說(shuō),即 n < k。即,大于1的小數(shù)。
步驟 8 規(guī)定了小于 1 并且小數(shù)位前置 0 的位數(shù)小于 6 的小數(shù)。
步驟 9-10 規(guī)定了非以上情況下使用“科學(xué)計(jì)數(shù)法”。
精度丟失String(1e20 + 1) // "100000000000000000000"
參考
primitive value corresponding to a double-precision 64-bit binary format IEEE 754-2008 value
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96198.html
摘要:為什么比優(yōu)先級(jí)高起因偶然在網(wǎng)上搜索運(yùn)算符優(yōu)先級(jí),幾乎每個(gè)版本都告訴讀者比優(yōu)先級(jí)更高,包括這樣的權(quán)威網(wǎng)站也不例外。這與自己經(jīng)驗(yàn)不符它們應(yīng)該是優(yōu)先級(jí)一樣的。 為什么 && 比 || 優(yōu)先級(jí)高? 起因 偶然在網(wǎng)上搜索 js 運(yùn)算符優(yōu)先級(jí),幾乎每個(gè)版本都告訴讀者 && 比 || 優(yōu)先級(jí)更高,包括 MSN 這樣的權(quán)威網(wǎng)站也不例外。 MDN Operator_Precedence 這與自己經(jīng)驗(yàn)不符...
摘要:屬性名屬性訪問(wèn)器屬性兩種表示法點(diǎn)表示法,例如方括號(hào)表示法,例如其中,點(diǎn)表示法中要求之后必須跟著?;乜瓷厦嫣岬降臉?biāo)識(shí)符的定義任何點(diǎn)表示法,都能轉(zhuǎn)換成方括號(hào)表示法反之,則行不通??偨Y(jié)屬性名不是標(biāo)識(shí)符。 以下內(nèi)容來(lái)至 es2017 語(yǔ)言規(guī)范和 javascript 高級(jí)程序設(shè)計(jì)(第三版) 起源:標(biāo)識(shí)符的定義 在紅寶書(shū) 3.1.2 章節(jié)中,對(duì)標(biāo)識(shí)符做了如下定義: An identifier i...
摘要:一致性和的關(guān)系歷史上存在兩個(gè)獨(dú)立的嘗試創(chuàng)立單一字符集的組織,即國(guó)際標(biāo)準(zhǔn)化組織和多語(yǔ)言軟件制造商組成的統(tǒng)一碼聯(lián)盟。兩個(gè)項(xiàng)目仍都存在,并獨(dú)立地公布各自的標(biāo)準(zhǔn),但統(tǒng)一碼聯(lián)盟和都同意保持兩者標(biāo)準(zhǔn)的碼表兼容,并緊密配合以保證之后的擴(kuò)展也一致。 一致性 A conforming implementation of ECMAScript must interpret source text inpu...
摘要:什么是最大安全整數(shù)是一個(gè)值為的常量。因?yàn)榈臄?shù)字存儲(chǔ)使用了中規(guī)定的雙精度浮點(diǎn)數(shù)數(shù)據(jù)類(lèi)型,而這一數(shù)據(jù)類(lèi)型能夠安全存儲(chǔ)到之間的數(shù)值包含邊界值。 什么是最大安全整數(shù)? MAX_SAFE_INTEGER 是一個(gè)值為 9007199254740991的常量。因?yàn)镴avascript的數(shù)字存儲(chǔ)使用了IEEE 754中規(guī)定的雙精度浮點(diǎn)數(shù)數(shù)據(jù)類(lèi)型,而這一數(shù)據(jù)類(lèi)型能夠安全存儲(chǔ) -(253 - 1) 到 2...
閱讀 2309·2021-11-12 10:36
閱讀 2250·2021-09-03 10:41
閱讀 3028·2021-08-19 10:57
閱讀 1392·2021-08-17 10:14
閱讀 1566·2019-08-30 15:53
閱讀 1289·2019-08-30 15:43
閱讀 1112·2019-08-30 13:16
閱讀 3099·2019-08-29 16:56