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