atof () является функцией библиотеки времени выполнения C для преобразования представления ASCII числа к плавающей точке дважды.

Используйте это наклеивает для всех вопросов об использовании atof() или где это, кажется, не работает правильно.

Тесно связанный:

  • для функций, преобразовывающих текст в int, long, или long long
  • для преобразования в long из текста в любой основе от 2 до 36. Или выберите основу автоматически, как компилятор C делает в зависимости от того, как число записано. strtoul() преобразовывает в unsigned long.
  • для double
  • для преобразования одного или нескольких значений за один раз направлен спецификацией формата

SYNPOSIS

#include <stdlib.h> double atof(const char *nptr); 

atof() возвращает значение нуля, если существует какая-либо проблема во время преобразования, хотя в документации говорится, что она не обнаруживает ошибки. Начиная с преобразования нуля также возвращает нуль, нет никакого простого способа отличить ошибку от корректного преобразования нуля. Используйте также scanf() или strtod() если проверка ошибок необходима.

atof() принимает целые числа, зафиксированную десятичную запись и экспоненциальное представление. Некоторые реализации также распознают строки INF или INFINITY (игнорирование случая), NAN (игнорирование случая) дополнительно сопровождаемый (, последовательность символов, сопровождаемых ). Символьная строка указывает зависящий от реализации тип NAN. (Документация этих строк скудна.)

Некоторые реализации поддерживают шестнадцатеричные отформатированные плавания. Они начинаются 0x или 0X, сопровождаемый по крайней мере одной шестнадцатеричной цифрой, дополнительная (определенная для локали) десятичная точка, большим количеством цифр, дополнительным p или P сопровождаемый двоичным порядком в шестнадцатеричном числе.