Поделиться через


atof, _atof_l, _wtof, _wtof_l

Преобразование строки double.

double atof(
   const char *str 
);
double _atof_l(
   const char *str,
   _locale_t locale
);
double _wtof(
   const wchar_t *str 
);
double _wtof_l(
   const wchar_t *str,
   _locale_t locale
);

Параметры

  • str
    Строка, которую необходимо преобразовать.

  • locale
    Языковой стандарт, который необходимо использовать.

Возвращаемое значение

Каждая функция возвращает значение double , сформированное путем интерпретации введенные знаки в виде числа.Возвращаемое значение 0,0, если входные данные не могут быть преобразованы к значению этого типа.

Во всех случаях, выходящего за диапазон допустимых значений, errno имеет значение ERANGE.Если параметр переданный в NULLнедопустимый параметр, то вызывается обработчик, как описано в Проверка параметровразделе.Если выполнение может быть продолжено, то эти функции set errno к EINVAL и возвращения 0.

Заметки

Эти функции convert символьная строка в значение числа с плавающей запятой двойной точности.

Входная строка последовательность символов, которая может быть интерпретировано как значение указанного числового типа.Функция останавливает чтения входную строку с первого символа, который не может распознать как часть номера.Этот символ может быть нулевым символом ("\0" или L"\0"), завершающим строку.

аргумент str к atof и _wtof имеет следующую форму:

[whitespace] [sign] [digits] [.digits] [ {d | D | e | E }[sign]digits]

whitespace состоит из пробелов или знаков табуляции, игнорируются; sign или плюс " (+) или минус (-); и digits один или несколько десятичные разряды.Если число не появляются перед десятичной запятой, то хотя бы одно должно появиться после десятичной запятой.Десятичные разряды может следовать степенью, которая состоит из вводного буквы (d, D, eили E) и, при необходимости, подписанного десятичного целого числа.

Версии этих функций с суффиксом _l идентичны, за исключением того, что они используют параметр, переданный вместо языкового стандарта текущего языкового стандарта.

Сопоставления подпрограммы Родов-Текста

Подпрограмма TCHAR.H

_MBCS не заданные _UNICODE &

Указанный символ _MBCS

Указанный _UNICODE

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

Требования

Процедуры

Обязательный заголовок

atof

<math.h> и <stdlib.h>

_atof_l

<math.h> и <stdlib.h>

_wtof, _wtof_l

<stdlib.h> или <wchar.h>

Пример

Эта программа показывает, как числа, сохраненные в виде строки могут быть преобразованы к числовым значениям с помощью функции atof .

// crt_atof.c
//
// This program shows how numbers stored as 
// strings can be converted to numeric
// values using the atof function.

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
    char    *str = NULL;
    double  value = 0;

    // An example of the atof function
    // using leading and training spaces.
    str = "  3336402735171707160320 ";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

    // Another example of the atof function
    // using the 'd' exponential formatting keyword.
    str = "3.1412764583d210";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

    // An example of the atof function
    // using the 'e' exponential formatting keyword.
    str = "  -2309.12E-15";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

}
  

Эквивалент в .NET Framework

См. также

Ссылки

Преобразование данных

Поддержка чисел с плавающей запятой

Языковой стандарт

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt_l _atoflt