atof(3p)

atof3p

Convert a string to a double-precision number

Usage

#include <stdlib.h>

double atof(const char *str);

Prolog

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.

Overview

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.

Errors

No errors are defined.

The following sections are informative.

Examples

None.

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.

Rationale

None.

Future directions

None.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.