_gcvt

将浮点值转换为字符串,它在缓冲存储区。 此功能的一种较为安全的版本可用; _gcvt_s参见。

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

参数

  • value
    要转换的值。

  • digits
    存储的有效位数。

  • buffer
    结果的存储位置。

返回值

_gcvt 返回指向数字字符串。

备注

_gcvt 函数将浮点 value 为包括小数点和一个可能的符号字节) 的字符字符串 (并存储在 buffer的字符串。 buffer 应足以容纳转换的值以及一个 null 字符),自动追加。 如果 + 1 使用 digits 的缓冲区大小,该函数复盖缓冲区末尾的。 这是因为,该转换的字符串包括小数点可以包含符号和指数信息。 未向溢出的提供。 _gcvt 会尝试生成 digits 数字以十进制格式。 如果不能,它导致 digits 数字以指数格式。 显示尾随零可能在转换过程中被取消。

长度 _CVTBUFSIZEbuffer 为所有浮点值就足够了。

此功能验证其参数。 如果 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 等效项

系统:: 转换:: ToString

请参见

参考

数据转换

浮点支持

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt