gcvt

[機能]

  浮動小数点を文字列(小数点や符号を含む)へ変換し,NULL 文字( '\0' )を付加し,バッファーに格納します.通常 10 進形式に変換しますが,桁数が収まらない場合,指数形式で作成します.

[形式]
#include <stdlib.h>

char *gcvt(double value, int digit, char *buffer)
	value : 変換する値
	digit : 格納する有効数字の数
	buffer : 結果の格納場所		
[使用例]

  1. ecvt,fcvt,gcvt の比較です
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    	double x = -12.345;
    	char name[20], *c1, *c2, *c3;
    	int dec, sign;
    
    	printf("%f の文字列への変換\n", x);
    	c1 = ecvt(x, 10, &dec, &sign);
    	printf("   文字列(ecvt) %s dec %d sign %d\n", c1, dec, sign);
    
    	c2 = fcvt(x, 10, &dec, &sign);
    	printf("   文字列(fcvt) %s dec %d sign %d\n", c2, dec, sign);
    
    	c3 = gcvt(x, 10, name);
    	printf("   文字列(gcvt) %s name %s\n", c3, name);
    
    	return 0;
    }
    			
    (出力)
    -12.345000 の文字列への変換
       文字列(ecvt) 1234500000 dec 2 sign 1
       文字列(fcvt) 1234500000 dec 2 sign 1
       文字列(gcvt) -12.345 name -12.345			
[参照]

atoi, atol, strtod, strtol, strtoul, ecvt, fcvt, atof

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引