====== atof ======
{{tag>number_parsing}}
''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 [[constants: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]].
For more flexibility in parsing and error handling, use [[ParseFixed]].
===== 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