API tonumber

From Warcraft Wiki
Jump to navigation Jump to search

Attempts to parse the number expressed in a string

num = tonumber(str[, radix])

Arguments

str
String/number - this value will be converted to a numeric value.
radix
number - An optional argument specifies the base to interpret the numeral. The base may be any integer between 2 and 36, inclusive. In bases above 10, the letter `A´ (in either upper or lower case) represents 10, `B´ represents 11, and so forth, with `Z´ representing 35. In base 10 (the default), the number may have a decimal part, as well as an optional exponent part. In other bases, only unsigned integers are accepted.

Returns

num
Number/nil - The argument as a numeric value or nil if the value cannot be converted.

Example

tonumber("123") -- Returns 123
tonumber("argqerg")  --Returns nil
tonumber("argqerg", 36)  --Returns 4294967295
tonumber("13", 8) --Returns 11
tonumber ("D", 16) --Returns 13

Details

  • This function always converts arg into the native number type.
If you want to convert from one base to another, you'll have to do the math yourself.
  • If base is less than 2 or greater than 36, an error will be thrown ("Base out of range").
  • If arg cannot be converted from base to decimal, nil will be returned.