ES2018学習ノート(1)Number ToStering
3299 ワード
章の翻訳
7.1.12.1 Number ToString(m)
抽象的な動作は、 は、 は、 は、 がそうでなければ、 は、 に が出現した.
は、 コードユニット0 x 002 E(FLL STOP) は、 コードユニット0 x 0030(DIGIT ZERO) コードユニット0 x 002 E(FLL STOP) に が出現した. でなければ、 単一桁数 コードユニット0 x 0065(LATIN SMALL LETTER E) もし に戻ります.整数 は、以下の文字列を返します. コードユニット0 x 002 E(FLL STOP) コードユニット0 x 0065(LATIN SMALL LETTER E) もし に戻ります.整数 コードユニット
参照
典型例
無視された記号は、 である.第二ステップは、0のシンボルを無視することを規定している. 第3ステップ以外のステップは、正数のシンボル を無視している.
先頭0
進数
科学的計数法ステップ6は、21ビット未満の正の整数「通常表示」 を記述する.ステップ7には、暗黙の条件があります.すなわち、1より大きい小数. ステップ8では、1以下であり、小数位前の0の桁数が6以下の小数点を規定している. ステップ9-10は、上記以外の場合に「科学的計数法」を使用することを規定しています. 精度が無くなる
prmitive value corese ponding to a double-precision 64-bit binary format IEEE 754-2008 value
7.1.12.1 Number ToString(m)
抽象的な動作
NumberToString
は、Numberタイプの変数mをStringフォーマットに変換するステップを以下のようにする.m
がNaN
に等しい場合、文字列"NaN"
を返します.m
が+0
または-0
に等しい場合、文字列"0"
を返します.m
が0
より小さい場合、文字列"-"
および! NumberToString(-m)
を返す.m
が+∞
に等しい場合、文字列"Infinity"
を返します.n
、k
、s
はすべて整数であり、k ≥ 1
、10
k-1
≤ s < 10
k
m
、s × 10
はn-k
k
、k
はできるだけ小さいと仮定する.s
はs
(10進数表現形式)の桁数を示し、s
は10で割り切れない.k ≤ n ≤ 21
の最低有効桁数はこれらの規格によって一意に決定される必要はない.s
の場合、以下の文字列を返します.k
の10進数はn-k
桁のコード単位を表しています.0 < n ≤ 21
次コードユニット0 x 0030(DIGIT ZERO)s
の場合、以下の文字列を返します.n
の十進数表記の最高s
桁のコードユニットk-n
の10進数表現の残り-6 < n ≤ 0
ビットのコードユニット-n
の場合、以下の文字列を返します.s
次コードユニット0 x 0030(DIGIT ZERO)k
の10進数表記のk = 1
ビットのコードユニットs
なら、次の文字列を返します.n-1
のコードユニットabs(n-1)
が正数であれば、コードユニット0 x 002 B(PLUS SIGN)に戻ります.そうでなければ、コードユニット0 x 002 D(HYPHEN-INUS)s
の十進数表記のコード単位(プリアンブルなし)s
の10進数表記の最上位有効ビットコードユニットk-1
の10進数表現の残りn-1
ビットコードユニットabs(n-1)
が正数であれば、コードユニット0 x 002 B(PLUS SIGN)に戻ります.そうでなければ、コードユニット0 x 002 D(HYPHEN-INUS)NaN
の十進数表記のコード単位(プリアンブルなし)参照
典型例
無視された記号
String(+NaN) // 'NaN'
String(-NaN) // 'NaN'
String(+0) // '0'
String(-0) // '0'
String(-1) // '1'
NaN
が符号を付けていないにもかかわらず、数値はn < k
先頭0
String(99) // '99'
String(099) // '99'
ステップ6、9、10を参照してください.進数
String(11) // '11'
String(011) // '9'
通通を十進数に変換します.科学的計数法
String(1e20) // '100000000000000000000'
String(1e21) // '1e21'
String(1e-6) // '0.000001'
String(1e-7) // '1e-7'
String(1e20 + 1) // '100000000000000000000'
参照prmitive value corese ponding to a double-precision 64-bit binary format IEEE 754-2008 value