Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal

Idiom # 22: Convert string to integer

See programming-idioms.org:

Code

"123".parse_i32
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Running Example

idiom22ex is
i := "123".parse_i32
say "parse result is $i"
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Larger Example

The following code parses a number of different strings as decimal, binary, octal or hex numbers creating results of different integer types.

# This is a test that covers quite many cases of parsing strings as integers
# of different sizes
#
idiom22ex_test is
test(s String) =>
say "parsing i32 decimal: $s results in {s.parse_i32}"
say "parsing i32 binary : $s results in {s.parse_i32_binary}"
say "parsing i32 octal : $s results in {s.parse_i32_octal}"
say "parsing i32 hex : $s results in {s.parse_i32_hex}"
say "parsing u32 decimal: $s results in {s.parse_u32}"
say "parsing u32 binary : $s results in {s.parse_u32_binary}"
say "parsing u32 octal : $s results in {s.parse_u32_octal}"
say "parsing u32 hex : $s results in {s.parse_u32_hex}"
say "parsing i64 decimal: $s results in {s.parse_i64}"
say "parsing i64 binary : $s results in {s.parse_i64_binary}"
say "parsing i64 octal : $s results in {s.parse_i64_octal}"
say "parsing i64 hex : $s results in {s.parse_i64_hex}"
say "parsing u64 decimal: $s results in {s.parse_u64}"
say "parsing u64 binary : $s results in {s.parse_u64_binary}"
say "parsing u64 octal : $s results in {s.parse_u64_octal}"
say "parsing u64 hex : $s results in {s.parse_u64_hex}"
test "0"
test "1"
test "12"
test "123"
test "1234"
test "12345"
test "123456"
test "1234567"
test "12345678"
test "123456789"
test "1234567890"
test "12345678901"
test "123456789012"
test "1234567890123"
test "12345678901234"
test "123456789012345"
test "1234567890123456"
test "12345678901234567"
test "123456789012345678"
test "1234567890123456789"
test "12345678901234567890"
test "123456789012345678901"
test "2147483647"
test "2147483648"
test "2147483649"
test "4294967295"
test "4294967296"
test "4294967297"
test "9223372036854775807"
test "9223372036854775808"
test "9223372036854775809"
test "18446744073709551615"
test "18446744073709551616"
test "18446744073709551617"
test "-1"
test "-12"
test "-123"
test "-1234"
test "-12345"
test "-123456"
test "-1234567"
test "-12345678"
test "-123456789"
test "-1234567890"
test "-12345678901"
test "-123456789012"
test "-1234567890123"
test "-12345678901234"
test "-123456789012345"
test "-1234567890123456"
test "-12345678901234567"
test "-123456789012345678"
test "-1234567890123456789"
test "-12345678901234567890"
test "-123456789012345678901"
test "-2147483647"
test "-2147483648"
test "-2147483649"
test "-4294967295"
test "-4294967296"
test "-4294967297"
test "-9223372036854775807"
test "-9223372036854775808"
test "-9223372036854775809"
test "-18446744073709551615"
test "-18446744073709551616"
test "-18446744073709551617"
test "+0"
test "-0"
test "+1"
test "-1"
test "+12"
test "-12"
test "++0"
test "--0"
test "0+"
test "0-"
test "+"
test "-"
test ""
test "abc"
test " "
test "\t"
test "0000000000000000000000000000000000000000000000000000000000000000000000000000000000123"
test "+0000000000000000000000000000000000000000000000000000000000000000000000000000000000123"
test "-0000000000000000000000000000000000000000000000000000000000000000000000000000000000123"
test "deadbeef"
test "BadCodeFacadeOff"
test "7fffffff"
test "ffffffff"
test "7fffffffffffffff"
test "ffffffffffffffff"
test "01010101010101010101010101010101"
test "10101010101010101010101010101010"
test "0101010101010101010101010101010101010101010101010101010101010101"
test "1010101010101010101010101010101010101010101010101010101010101010"
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
last changed: 2024-07-01