| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| functions:atof [2017/04/17 12:17] – korshun | functions:atof [2017/04/17 12:33] (current) – korshun |
|---|
| 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. | 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 [[:Number prefixes]]. | Supports signs and [[:Number prefixes]]. |
| |
| <note important>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. | <note important>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. |
| </note> | </note> |
| | |
| | <note tip>To parse ints, use [[atoi]].</note> |
| | |
| | <note tip>For more flexibility in parsing and error handling, use [[ParseFixed]].</note> |
| |
| ===== Examples ===== | ===== Examples ===== |
| atof("123") -> 123.0 | atof("123") -> 123.0 |
| atof("123.456") -> 123.456 | atof("123.456") -> 123.456 |
| atoi("0") -> 0 | atof("0") -> 0 |
| | atof("999999999999") -> 32767.99999 // Too big |
| atoi("999999999999") -> 32767.99999 // Too big | atof("-99999999999") -> -32767.99999 // Too small |
| atoi("-99999999999") -> -32767.99999 // Too small | atof("not a number") -> 0 // Error |
| atoi("not a number") -> 0 // Error | atof("0xff.8") -> 255.5 // Hexadecimal prefix |
| atoi("0xff.8") -> 255.5 // Hexadecimal prefix | |
| </code> | </code> |
| |