一:数字转换为字符串
(1)itoa():将整型值转换为字符串
(2)ltoa():将长整型值转换为字符串
(3)ultoa():将无符号长整型值转换为字符串
(4)gcvt():将浮点型数转换为字符串,取四舍五入
(5)ecvt():将双精度浮点型值转换为字符串
(6)fcvt():以指定位数为转换精度,其余同ecvt()
还可以使用sprintf系列函数把数字转换成字符串,这种方式的速度比itoa()系列函数的速度慢。下面是如何使用itoa()函数和gcvt()函数的例子:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num_int = 435 ;
double num_double = 435.10f ;
char str_int[30] ;
char str_double[30] ;
itoa(num_int,str_int,10) ;
gcvt(num_double,8,str_double) ;
printf("str_int:%s\n",str_int) ;
printf("str_double:%s\n",str_double) ;
return 0 ;
}
输出的结果为:str_int:35
str_double:435.10001
代码第11行中的参数10表示按十进制类型进行转换,转换后的结果为“435”,如果是二进制类型进行转换,结果则为:“1101110011”
代码第12行中的参数8表示精确位数,这里得到的结果是“435.10001”
二:字符串转换为数字
(1)atof():将字符串转换为双精度浮点型值
(2)atoi():将字符串转换为整型值
(3)atol():将字符串转换为长整型值
(4)strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字
(5)strtol():将字符串转换为长整型值,并报告不能被转换的所有剩余数字
(6)strtoul():将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字
下面是如何使用atoi()函数和atof()函数的例子
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num_int;
double num_double;
char str_int[30] = "435" ;
char str_double[30] = "436.55" ;
num_int = atoi(str_int) ;
num_double = atof(str_double) ;
printf("num_int:%d\n",num_int) ;
printf("num_double:%lf\n",num_double) ;
return 0 ;
}
最后的输出结果为:num_int:435
num_double:436.550000