I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com


Convert ASCII string to double
+ View other versions (4)


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


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;

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.


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