_ecvt

Преобразование a double номер строки.Более безопасную версию этой функции доступен; см. _ecvt_s.

char *_ecvt( 
   double value,
   int count,
   int *dec,
   int *sign 
);

Параметры

  • value
    Число для преобразования.

  • count
    Количество цифр, которые хранятся.

  • dec
    Магазины позиция десятичной запятой.

  • sign
    Символ преобразованного числа.

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

_ecvt возвращает указатель на строку знаков; Значение null, если произошла ошибка.

Заметки

_ecvt функция преобразует число с плавающей запятой в командную строку.value параметр число с плавающей запятой, которые требуется преобразовать.Эта функция хранит значение count числа value как строка и добавления нуль-символ (" \ 0 ").Если количество знаков в пределах value превышает count- младший число округляется.Если меньше count числа, строки заполняются нулями.

Общее число цифр, возвращаемых by _ecvt не превысит _CVTBUFSIZE.

Только числа хранятся в строке.Позиция десятичной запятой, а символ value может быть получен из dec и sign после вызова.dec указатель на значение параметра, задающего десятичной запятой целого числа позицию относительно начала строки.0 Или отрицательное целое значение указывает на то, что десятичная запятая, расположенную слева от первого числа.sign элементы параметра в целое число, указывающее знак преобразованного числа.Если целое значение 0, то число является положительным.В противном случае - число является отрицательным.

Различие _ecvt и _fcvt в толковании count параметр._ecvt интерпретирует count так как общее количество цифр в выходной строке, тогда как _fcvt интерпретирует count как число знаков после десятичной запятой.

_ecvt и _fcvt использование одного статически выделенный буфер для преобразования.Каждый вызов к одной из этих подпрограмм уничтожает результат предыдущего вызова.

Эта функция проверяет его параметры.If dec OR sign значение null или count 0 - недопустимый параметр вызывается обработчик, как описано в разделе Проверка параметров.Если выполнение может продолжить, errno равно EINVAL и возвращается значение NULL.

Требования

Функция

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

_ecvt

<stdlib.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

// crt_ecvt.c
// compile with: /W3
// This program uses _ecvt to convert a
// floating-point number to a character string.

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

int main( void )
{
   int     decimal,   sign;
   char    *buffer;
   int     precision = 10;
   double  source = 3.1415926535;

   buffer = _ecvt( source, precision, &decimal, &sign ); // C4996
   // Note: _ecvt is deprecated; consider using _ecvt_s instead
   printf( "source: %2.10f   buffer: '%s'  decimal: %d  sign: %d\n",
           source, buffer, decimal, sign );
}
  

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

System:: Преобразование:: ToString

См. также

Ссылки

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

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

atof, _atof_l, _wtof, _wtof_l

_fcvt

_gcvt