整數(shù)字面量可以被寫作:
0b0o0x
下面的所有整數(shù)字面量的十進(jìn)制值都是17:
let decimalInteger = 17
let binaryInteger = 0b10001 // 二進(jìn)制的17
let octalInteger = 0o21 // 八進(jìn)制的17
let hexadecimalInteger = 0x11 // 十六進(jìn)制的17
浮點(diǎn)字面量可以是十進(jìn)制(沒(méi)有前綴)或者是十六進(jìn)制(前綴是0x)。小數(shù)點(diǎn)兩邊必須有至少一個(gè)十進(jìn)制數(shù)字(或者是十六進(jìn)制的數(shù)字)。浮點(diǎn)字面量還有一個(gè)可選的指數(shù)(exponent),在十進(jìn)制浮點(diǎn)數(shù)中通過(guò)大寫或者小寫的e來(lái)指定,在十六進(jìn)制浮點(diǎn)數(shù)中通過(guò)大寫或者小寫的p來(lái)指定。
如果一個(gè)十進(jìn)制數(shù)的指數(shù)為exp,那這個(gè)數(shù)相當(dāng)于基數(shù)和10^exp的乘積:
1.25e2 表示 1.25 × 10^2,等于 125.0。1.25e-2 表示 1.25 × 10^-2,等于 0.0125。
如果一個(gè)十六進(jìn)制數(shù)的指數(shù)為exp,那這個(gè)數(shù)相當(dāng)于基數(shù)和2^exp的乘積:
0xFp2 表示 15 × 2^2,等于 60.0。0xFp-2 表示 15 × 2^-2,等于 3.75。
下面的這些浮點(diǎn)字面量都等于十進(jìn)制的12.1875:
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0
數(shù)值類字面量可以包括額外的格式來(lái)增強(qiáng)可讀性。整數(shù)和浮點(diǎn)數(shù)都可以添加額外的零并且包含下劃線,并不會(huì)影響字面量:
let paddedDouble = 000123.456
let oneMillion = 1_000_000
let justOverOneMillion = 1_000_000.000_000_1