atof - Man Page

convert a string to a double-precision number


This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.


#include <stdlib.h>

double atof(const char *str);


The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO C standard.

The call atof(str) shall be equivalent to:

strtod(str,(char **)NULL),

except that the handling of errors may differ. If the value cannot be represented, the behavior is undefined.

Return Value

The atof() function shall return the converted value if the value can be represented.


No errors are defined.

The following sections are informative.



Application Usage

The atof() function is subsumed by strtod() but is retained because it is used extensively in existing code. If the number is not known to be in range, strtod() should be used because atof() is not required to perform any error checking.



Future Directions


See Also


The Base Definitions volume of POSIX.1-2017, <stdlib.h>

Referenced By

awk(1p), stdlib.h(0p).

2017 IEEE/The Open Group POSIX Programmer's Manual