atof

fixed atof(str s)

Description

Returns s parsed as a fixed-point number. If s cannot be parsed as a fixed-point number, returns 0.

If s is too big or too small to fit into a fixed-point number, returns INT_MAX with the sign of the input.

Supports signs and Number prefixes.

This function parses the fractional part only up to the amount of digits that can be stored in a fixed-point number. This means that numbers with very long fractional parts will not be fully parsed, e.g. "0.12345678901234567890thisisnotanumberanymore!@#$^#$^$*%^*$" will parse successfully.
To parse ints, use atoi.

Examples

atof("123") -> 123.0
atof("123.456") -> 123.456
atof("0") -> 0
atof("999999999999") -> 32767.99999 // Too big
atof("-99999999999") -> -32767.99999 // Too small
atof("not a number") -> 0 // Error
atof("0xff.8") -> 255.5 // Hexadecimal prefix