ecvt

[機能]

  浮動小数点を文字列へ変換し,NULL 文字( '\0' )を付加します.指定した桁数を超えた場合,下位の桁は丸められます.また,指定された桁数未満の場合は,0 で埋められます.

[形式]
#include <stdlib.h>

char *ecvt(double value, int ndigit, int *decpt, int *sign)
	value : 変換する値
	ndigit : 数字文字列の桁数
	decpt : 文字列の先頭から数えた小数点の位置
	sign : 正であれば 0		
[使用例]

  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, atof, fcvt, gcvt

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