#include <libc.h>
double atof(char *nptr)int atoi(char *nptr)
long atol(char *nptr)
vlong atoll(char *nptr)
double charstod(int (*f)(void *), void *a)
double strtod(char *nptr, char **rptr)
long strtol(char *nptr, char **rptr, int base)
vlong strtoll(char *nptr, char **rptr, int base)
ulong strtoul(char *nptr, char **rptr, int base)
uvlong strtoull(char *nptr, char **rptr, int base)
Atof recognizes an optional string of tabs and spaces, then an optional sign, then a string of digits optionally containing a decimal point, then an optional .L e or .L E followed by an optionally signed integer.
Atoi and atol recognize an optional string of tabs and spaces, then an optional sign, then a string of decimal digits.
Strtod , strtol , strtoll , strtoul , and strtoull behave similarly to atof and atol and, if rptr is not zero, set *rptr to point to the input character immediately after the string converted.
Strtol , strtoll , strtoul , and strtoull interpret the digit string in the specified base , from 2 to 36, each digit being less than the base. Digits with value over 9 are represented by letters, a-z or A-Z. If base is 0, the input is interpreted as an integral constant in the style of C (with no suffixed type indicators): numbers are octal if they begin with .LR 0 , hexadecimal if they begin with .L 0x or .LR 0X , otherwise decimal.
Charstod interprets floating point numbers in the manner of atof , but gets successive characters by calling (*f)(a) . The last call to f terminates the scan, so it must have returned a character that is not a legal continuation of a number. Therefore, it may be necessary to back up the input stream one character after calling charstod .