Skip to main content

std.convert

std.convert handles number/string/base conversion and printf-style formatting.

Reference

to_hex(n) from_hex(str)
to_bin(n) from_bin(str)
to_oct(n) from_oct(str)
parse_int(str[, base]) // auto-detects 0x, 0b, 0o prefixes
format(value, fmt) // printf-style; only one conversion allowed
FunctionDescription
to_hex(n) / from_hex(s)Integer ↔ lowercase hex string
to_bin(n) / from_bin(s)Integer ↔ binary string
to_oct(n) / from_oct(s)Integer ↔ octal string
parse_int(s[, base])Parse an integer string; infers 0x/0b/0o when base omitted
format(v, fmt)printf-style formatting — only one conversion specifier per call

Examples

print(std.convert.to_hex(255)) // ff
print(std.convert.from_hex("ff")) // 255
print(std.convert.to_bin(10)) // 1010
print(std.convert.from_bin("1010")) // 10
print(std.convert.to_oct(8)) // 10
print(std.convert.parse_int("ff", 16)) // 255
print(std.convert.parse_int("0x1F")) // 31 (prefix-inferred)
print(std.convert.parse_int("0b1010")) // 10
print(std.convert.parse_int("0o17")) // 15
print(std.convert.format(3.14159, "%.2f")) // 3.14
print(std.convert.format(42, "%04d")) // 0042
print(std.convert.format(255, "%x")) // ff

format accepts a single printf conversion (e.g. %d, %x, %.2f, %04d). Pass the value and the format string — it returns the formatted string.

See also