_gcvt

Преобразует число с плавающей запятой в строке, которая сохраняет в буфере.Более безопасную версию этой функции доступен; см. _gcvt_s.

char *_gcvt( 
   double value,
   int digits,
   char *buffer 
);

Параметры

  • value
    Преобразуемое значение.

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

  • buffer
    Место хранения результата.

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

_gcvt возвращает указатель на строку знаков.

Заметки

_gcvt функция преобразования с плавающей запятой value на символьную строку (которая включает десятичную запятую и возможный байт символа) и хранит строку внутри buffer.buffer должен быть достаточным для размещения преобразованное значение и выполнить нуль-символ, который добавляется автоматически.Если размер буфера digits + 1, используется функция производит перезапись конца буфера.Это происходит потому, что преобразованная строка включает десятичную запятую и может содержать символьные данные и степени.Нет подготовка к работе, переполнения._gcvt пытается создать digits числа в десятичном формате.Если не удается, он формирует digits числа в степенном формате.Замыкающие нули могут быть подавляются в преобразовании.

A buffer length _CVTBUFSIZE достаточны для любого значения с плавающей запятой.

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

Требования

Процедура

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

_gcvt

<stdlib.h>

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

Пример

// crt_gcvt.c
// compile with: /W3
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main( void )
{
   char buffer[_CVTBUFSIZE];
   double value = -1234567890.123;
   printf( "The following numbers were converted by _gcvt(value,12,buffer):\n" );
   _gcvt( value, 12, buffer ); // C4996
   // Note: _gcvt is deprecated; consider using _gcvt_s instead
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );

   printf( "\n" );
   value = -12.34567890123;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
}
  

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

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

См. также

Ссылки

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

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

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt