convert <span class="Tn">ASCII</span> string to double

You're viewing an older version of this page (#3474). View the current version.

View versions (3)

INTERFACE

#include <stdlib.h> double atof ( const char *nptr ) #include <xlocale.h> double atof_l ( const char *nptr, locale_t loc )

DESCRIPTION

The atof function converts the initial portion of the string pointed to by nptr to double representation. It is equivalent to:

strtod(nptr, (char **)NULL);

The decimal point character is defined in the program's locale (category LC_NUMERIC). While the atof function uses the current locale, the atof_l function may be passed a locale directly. See xlocale for more information.

Example 1

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char x[10] = "3.141592";
  double pi = atof(x);
  printf("pi = %lf\n", pi);
  return 0;
}

Output:

pi = 3.141592

IMPLEMENTATION NOTES

The atof function is not thread-safe and also not async-cancel-safe.

The atof function has been deprecated by strtod and should not be used in new code.

ERRORS

The function atof need not affect the value of errno on an error.

SEE ALSO

atoi, atol, strtod, strtol, strtoul