Skip to content

atof, atoff : string to double or float

#include <stdlib.h>
double atof(const char *s);
float atoff(const char *s);
```### Description
atof converts the initial portion of a string to a double. atoff converts the initial portion of a string to a float. The functions parse the character string s, locating a substring which can be converted to a floating point value. The substring must match the format: [+|-]digits[.][digits][(e|E)[+|-]digits]
The substring converted is the longest initial fragment of s that has the expected format, beginning with the first non-whitespace character. The substring is empty if str is empty, consists entirely of whitespace, or if the first non-whitespace character is something other than +, -, ., or a digit.
atof(s) is implemented as strtod(s, NULL). atoff(s) is implemented as strtodf(s, NULL).### Returns
atof returns the converted substring value, if any, as a double; or 0.0, if no conversion could be performed. If the correct value is out of the range of representable values, plus or minus HUGE_VAL is returned, and ERANGE is stored in errno. If the correct value would cause underflow, 0.0 is returned and ERANGE is stored in errno.
atoff obeys the same rules as atof, except that it returns a float.
---
**Authoritative source**: BUSMASTER DITA help source `atof.dita`, compiled into `BUSMASTER.CHM` with the application.