_gcvt() — 浮動小数点からストリングへの変換
形式
#include <stdlib.h>
char *_gcvt(double value, int ndec, char *buffer);注:
_gcvt 関数は C++ でのみサポートされ、C ではサポートされません。スレッド・セーフ
はい
言語レベル
拡張機能
ロケール依存
この関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーおよび LC_NUMERIC カテゴリーの影響を受ける可能性があります。 詳しくは、 CCSID とロケールについてを参照してください。
説明
_gcvt() は、浮動小数点値をバッファーがポイントした文字列に変換します。 バッファーは、変換された値、および _gcvt() によってストリングの終わりに
自動的に追加されるヌル文字 (¥0) を保持するのに十分な大きさでなければなりません。 オーバーフローに対する対応策はありません。
_gcvt() は、FORTRAN F フォーマットで ndec 有効数字を生成しようと試みます。 それに失敗した場合、FORTRAN E フォーマットで ndec 有効数字を生成します。 後続ゼロは、重要ではない場合、変換で抑制される可能性があります。
_gcvt は、無限大値もストリング INFINITY に変換します。
戻り値
_gcvt() は、ディジットのストリングを指すポインターを戻します。 変換を実行するためにメモリーを割り振ることができない場合、_gcvt() は空ストリングを戻し、errno に ENOMEM を設定します。
例
この例では、値 -3.1415e3 を文字ストリングに変換し、変換された文字ストリングを文字配列
buffer1 に置きます。#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char buffer1[10];
_gcvt(-3.1415e3, 7, buffer1);
printf("The first result is %s \n", buffer1);
return 0;
}出力は以下の通りです。 The first result is -3141.5