Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #135
Difficulty: Easy
As of 2006, approximately five percent of the Linux kernel was written by Linus Torvalds himself
True or False?
Linux & Unix Commands - Search Man Pages

atof(2) [plan9 man page]

ATOF(2) 							System Calls Manual							   ATOF(2)

NAME
atof, atoi, atol, charstod, strtod, strtol, strtoul - convert text to numbers SYNOPSIS
#include <u.h> #include <libc.h> double atof(char *nptr) int atoi(char *nptr) long atol(char *nptr) double charstod(int (*f)(void *), void *a) double strtod(char *nptr, char **rptr) long strtol(char *nptr, char **rptr, int base) ulong strtoul(char *nptr, char **rptr, int base) /* Alef only */ int strtoi(byte *nptr, byte **rptr, int base) uint strtoui(byte *nptr, byte **rptr, int base) float strtof(byte *nptr, byte **rptr); DESCRIPTION
Atof, atoi, and atol convert a string pointed to by nptr to floating, integer, and long integer representation respectively. The first unrecognized character ends the string. Leading C escapes are understood, as in strtol with base zero. 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 or 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, and strtoul behave similarly to atof and atol and, if rptr is not zero, set *rptr to point to the input character immedi- ately after the string converted. Strtol and strtoul 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 hexadecimal if they begin with or otherwise decimal. Strtoul does not rec- ognize signs. Charstod interprets floating point numbers like atof, but it 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. Alef The routines strtol and strtoul are renamed strtoi and strtoui and return type int and uint. There is no charstod or atof. Instead, strtof is like a floating-point base 10 strtoi. SOURCE
/sys/src/libc/port SEE ALSO
fscanf(2) DIAGNOSTICS
Zero is returned if the beginning of the input string is not interpretable as a number; even in this case, rptr will be updated. These routines set errstr. BUGS
Atoi and atol accept octal and hexadecimal numbers in the style of C, contrary to the ANSI specification. ATOF(2)

Check Out this Related Man Page

atof(3) 						     Library Functions Manual							   atof(3)

Name
       atof, atoi, atol, strtol, strtoul, strtod - convert ASCII to numbers

Syntax
       #include <math.h>

       double atof(nptr)
       char *nptr;

       atoi(nptr)
       char *nptr;

       long atol(nptr)
       char *nptr;

       long strtol(nptr, eptr, base)
       char *nptr, **eptr;
       int base;

       unsigned long strtoul(nptr, eptr, base)
       char *nptr, **eptr;
       int base;

       double strtod (nptr, eptr)
       char *nptr, **eptr;

       unsigned long strtoul(nptr, eptr, base)
       char *nptr, **eptr;
       int base;

Description
       These functions convert a string pointed to by nptr to floating, integer, and long integer representation respectively.	The first unrecog-
       nized character ends the string.

       The function recognizes (in order), an optional string of spaces, an optional sign, a string of digits optionally containing a radix  char-
       acter, an optional `e' or `E', and then an optionally signed integer.

       The and functions recognize (in order), an optional string of spaces, an optional sign, then a string of digits.

       The  function returns as a long integer, the value represented by the character string nstr.  The string is scanned up to the first charac-
       ter inconsistent with the base.	Leading white-space characters are ignored.

       If the value of eptr is not (char **) NULL, a pointer to the character terminating the scan is returned in **eptr.  If no  integer  can	be
       formed, **eptr is set to nstr , and zero is returned.

       If  base  is  positive  and  not greater than 36, it is used as the base for conversion.  After an optional leading sign, leading zeros are
       ignored, and 0x or 0X is ignored if base is 16.

       If base is zero, the string itself determines the base thus:  After an optional leading sign, a leading zero  indicates	octal  conversion,
       and a leading 0x or 0X hexadecimal conversion.  Otherwise, decimal conversion is used.

       Truncation from long to int can take place upon assignment, or by an explicit cast.

       The function is the same as except that returns, as an unsigned long integer, the value represented by the character string nstr.

       The  function  returns  as a double-precision floating point number, the value represented by the character string pointed to by nptr.  The
       string is scanned up to the first unrecognized character.

       The function recognizes an optional string of white-space characters, as defined by isspace in then an optional sign, then a string of dig-
       its optionally containing a radix character, then an optional e or E followed by an optional sign or space, followed by an integer.

       If  the value of eptr is not (char **)NULL, a pointer to the character terminating the scan is returned in the location pointed to by eptr.
       If no number can be formed, *eptr is set to nptr, and zero is returned.

       The radix character for and is that defined by the last successful call to category If category has not been called successfully, or if the
       radix character is not defined for a supported language, the radix character is defined as a period (.).

   International Environment
       LC_CTYPE       If this environment variable is set and valid, uses the international language database named in the definition to determine
		      character classification rules.

       LC_NUMERIC     If this environment is set and valid, and use the international language database named in the definition to determine radix
		      character rules.

       LANG	      If  this environment variable is set and valid and use the international language database named in the definition to deter-
		      mine collation and character classification rules.  If or is defined, their definition supercedes the definition of LANG.

Diagnostics
       The function returns HUGE if an overflow occurs, and  a 0 value if an underflow occurs, and sets errno to ERANGE.  HUGE is defined in

       The function returns INT_MAX or INT_MIN (according to the sign of the value) and sets errno to ERANGE, if the correct value is outside  the
       range of values that can be represented.

       The  function  returns  LONG_MAX or LONG_MIN (according to the sign of the value) and sets errno to ERANGE, if the correct value is outside
       the range of values that can be represented.

       The function returns LONG_MAX or LONG_MIN (according to the sign of the value) and sets errno to ERANGE, if the correct	value  is  outside
       the range of values that can be represented.

       The function returns ULONG_MAX and sets errno to ERANGE, if the correct value is outside the range of values that can be represented.

       The function returns HUGE (according to the sign of the value), and sets errno to ERANGE if the correct value would cause overflow.  A 0 is
       returned and errno is set to ERANGE if the correct value would cause underflow.

See Also
       ctype(3), setlocale(3), scanf(3s), environ(5int)

																	   atof(3)

Featured Tech Videos