標籤:
不同進位整數字面值按以下原則進行區分表示:
1. 十進位數前邊不用加首碼
2. 一個位元,加一個0b的首碼
3. 一個八位元,加一個0o的首碼
4. 一個16進位數,加一個0x的首碼
下邊是整數字面值為17的不同進位的表示形式:
let decimalInteger = 17
let binaryInteger = 0b10001 // 17的二進位表示
let octalInteger = 0o21 // 17的八進位表示
let hexadecimalInteger = 0x11 // 17 的十六進位表示
浮點數可以做十進位數,也可以做16進位數。浮點數在小數點兩邊至少有一個數字(或十六進位數)。浮點數也可以有一個可選的指數,可以用一個大寫或者小寫e來表示一個十進位浮點數,或者用一個大小或小寫p來表示一個十六進位的浮點數。
可以為一個十進位數加一個exp的指數,為基數乘以10exp:
1.25e2 表示 1.25 × 102, 或者 125.0
1.25e-2 表示 1.25 × 10-2, 或者 0.0125
可以為一個十六進位加一個為exp的指數,為基數乘以2exp
0xFp2 表示 15 × 22, 或者 60.0
0xFp-2 表示 15 × 2-2, 或者 3.75
下邊為一個浮點數的各種表示方法:
let? ?decimalDouble? = ?12.1875
let ?exponentDouble? = ?1.21875e1
? let? ?hexadecimalDouble? = ?0xC.3p0
數字字面量也可以包含一些擴充的格式,用來使字面量更加可讀,整數和小數都可填充一些額外的0也可以包含底線用來協助字面量的可讀性。格式的類型不會影響字面量本身的值。
let paddedDouble = 000123.456 // 123.456
let OneMillion = 1_000_000 // 1000000
let justOverOneMillion = 1_000_000.000_000_1 // 1000000.0000001
Swift之數字字面常量