Numeric Literals
Numbers can be written in various bases. Numbers are assumed to be decimal by default. Non-decimal literals have a specific prefix.
Numeral system
Prefix
Characters
Decimal
None
one or more numbers (0 to 9)
Binary
0b
one or more zeros or ones (0 or 1)
Octal
0o
one or more numbers in the range 0 to 7
Hexadecimal
0x
one or more numbers, or characters a to f, lowercase or uppercase
// A decimal number
//
1234567890 // is `1234567890`
// A binary number
//
0b101010 // is `42`
// An octal number
//
0o12345670 // is `2739128`
// A hexadecimal number
//
0x1234567890ABCabc // is `1311768467294898876`
// Invalid: unsupported prefix 0z
//
0z0
// A decimal number with leading zeros. Not an octal number!
00123 // is `123`
// A binary number with several trailing zeros.
0b001000 // is `8`Decimal numbers may contain underscores (_) to logically separate components.
let largeNumber = 1_000_000
// Invalid: Value is not a number literal, but a variable.
let notNumber = _123Underscores are allowed for all numeral systems.
let binaryNumber = 0b10_11_01Last updated
Was this helpful?