次の方法で共有


_gcvt

バッファーに格納された文字列に浮動小数点値を変換します。 この関数のセキュリティが強化されたバージョンを使用できる; _gcvt_sを参照してください。

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

パラメーター

  • value
    変換される数値。

  • digits
    格納されている有効桁数。

  • buffer
    結果の格納場所。

戻り値

_gcvt は 文字列へのポインターを返します。

解説

_gcvt 関数 (小数点記号と可能なバイトを含む) に浮動小数点 value を文字列に変換し、bufferで文字列を格納します。 buffer は自動的に付けられた終端の null 文字に変換後の値を格納するのに十分な大きさが必要です。 digits のバッファー サイズが + 1 を使用すると、関数では、バッファーの末尾を上書きします。 これは、変換される文字列に小数点が含まれ、記号、指数情報を含めることができるためです。 オーバーフローのプロビジョニングはありません。 _gcvt は 10 進形式で digits の数字を生成しようとします。 できない場合、指数形式の digits の数字を生成します。 後続のゼロは変換に制約される場合があります。

長さ _CVTBUFSIZE の buffer は、浮動小数点値で十分です。

この関数は、パラメーターを検証します。 buffer が NULL の場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、この関数は errno を EINVAL に設定し、NULL を返します。

必要条件

ルーチン

必須ヘッダー

_gcvt

<stdlib.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

// 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::Convert::ToString

参照

関連項目

データ変換

浮動小数点サポート

atof、_atof_l、_wtof、_wtof_l

_ecvt

_fcvt