char
*ecvt(double
value,int
ndigit,int
*decpt,int
*sign)
char
*fcvt(double
value,int
ndigit,int
*decpt,int
*sign)
将浮点数value转换成字符串并返回该字符串
函数名:
ecvt
功
能:
把一个浮点数转换为字符串
用
法:
char
ecvt(double
value,
int
ndigit,
int
*decpt,
int
*sign)
程序例:
#include
#include
#include
int
main(void)
{
char
*string
double
value
int
dec,
sign
int
ndig
=
10
clrscr()
value
=
9.876
string
=
ecvt(value,
ndig,
&dec,
&sign)
printf("string
=
%s
dec
=
%d
\
sign
=
%d\n",
string,
dec,
sign)
value
=
-123.45
ndig=
15
string
=
ecvt(value,ndig,&dec,&sign)
printf("string
=
%s
dec
=
%d
sign
=
%d\n",
string,
dec,
sign)
value
=
0.6789e5
/*
scientific
notation
*/
ndig
=
5
string
=
ecvt(value,ndig,&dec,&sign)
printf("string
=
%s
dec
=
%d\
sign
=
%d\n",
string,
dec,
sign)
return
0
}
函数名:
fcvt
功
能:
把一个浮点数转换为字符串
用
法:
char
*fcvt(double
value,
int
ndigit,
int
*decpt,
int
*sign)
程序例:
#include
#include
#include
int
main(void)
{
char
*string
double
value
int
dec,
sign
int
ndig
=
10
clrscr()
value
=
9.876
string
=
ecvt(value,
ndig,
&dec,
&sign)
printf("string
=
%s
dec
=
%d
\
sign
=
%d\n",
string,
dec,
sign)
value
=
-123.45
ndig=
15
string
=
ecvt(value,ndig,&dec,&sign)
printf("string
=
%s
dec
=
%d
sign
=
%d\n",
string,
dec,
sign)
value
=
0.6789e5
/*
scientific
notation
*/
ndig
=
5
string
=
ecvt(value,ndig,&dec,&sign)
printf("string
=
%s
dec
=
%d\
sign
=
%d\n",
string,
dec,
sign)
return
0
}
在Windows系统下的转换方法
windows下进行此类一般使用sprintf_s函数,使用该函数需要包含头文件stdio.h。
示例:例如我要将 1.234567 这个小数转化为字符串"1.234567“。首先,要包含头文件 cstdio(即 stdio.h)。
接着,要定义一个字符缓冲区 buffer,大小要足以容纳要转换的 double 变量。
再使用sprinf_s进行转换,转换的字符串保存在buffer中。
这时,就可以用string类型变量str来接收值了。
为了验证结果,我们加句代码输出这个str的值,程序运行的结果如下图。