十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用gcvt函数!
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的怀化网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
函数名: gcvt
功 能: 把浮点数转换成字符串
用 法: char *gcvt(double value, int ndigit, char *buf);
例子:
#include stdlib.h
#include stdio.h
int main(void)
{
char str[25];
double dNum;
int n = 5;//需要转化的位数
//一般浮点数
dNum = 9.876;
gcvt(dNum, n, str);
printf( "string = %s\n", str);
//负数
dNum = -123.4567;
gcvt(dNum, n, str);
printf("string = %s\n", str);
//指数
dNum = 0.678e5;
gcvt(dNum, n, str);
printf("string = %s\n", str);
return 0;
}
#include stdio.h
#include stdlib.h
int main() {
float fa = 3.68f;
char fstr[20];
// 最简易的方法
sprintf(fstr,"%f",fa);
printf("%s\n",fstr);
// 用专用函数转换
gcvt(fa,8,fstr);
printf("%s\n",fstr);
return 0;
}
1、itoa
功 能:把一整数转换为字符串
用 法:char *itoa(int value, char *string, int radix);
详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数:
value: 待转化的整数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值:
char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h"
2、ltoa
功 能:把一长整形转换为字符串
用 法:char *ltoa(long value, char *string, int radix);
详细解释:itoa是英文long integer to array(将long int长整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数:
value: 待转化的长整型数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值:
char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h"
3、ultoa
功 能:把一无符号长整形转换为字符串
用 法:char *ultoa(unsigned long value, char *string, int radix);
详细解释:itoa是英文unsigned long integer to array(将unsigned long int无符号长整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数:
value: 待转化的无符号长整型数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值:
char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h"
4、gcvt
功 能:把浮点型数转换为字符串,取四舍五入
用 法:char *gcvt(double value, int ndigit, char *buf);
详细解释:gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
参 数:
value:待转化的浮点数。
ndigit:存储的有效数字位数。
*buf:结果的存储位置。
返回值:
char * :指向生成的字符串, 同*buf。
备注:该函数的头文件是"stdlib.h"
5、ecvt
功 能:将双精度浮点型数转换为字符串,转换结果中不包括十进制小数点
用 法:char *ecvt(double value, int ndigit, int *decpt, int *sign);
详细解释:ecvt函数把一个双精度浮点数转换成一个字符串。value参数是要转换的浮点数。这个函数存储最多ndigit个数字值作为一个字符串,并添加一个空数字符('\0'),如果value中的数字个数超过ndigit,低位数字被舍入。如果少于ndigit个数字,该字符串用0填充。
只有数字才存储在该字符串中,小数点位置和value符号在调用之后从decpt和sign获取。decpt参数指出给出小数点位置的整数值,它是从该字符串的开头位置计算的。0或负数指出小数点在第一个数字的左边。sign参数指出一个指出转换的数的符号的整数。如果该整数为0,这个数为正数,否则为负数。
参 数:
value:待转换的双精度浮点数。
ndigit:存储的有效数字位数。
*decpt:存储的小数点位置。
*sign:转换的数的符号。
返回值:
char*:指向生成的字符串。
备注:该函数的头文件是"stdlib.h"
6、fcvt
功 能:指定位数为转换精度,其余同ecvt
用 法:char *fcvt(double value, int ndigit, int *decpt, int *sign);
详细解释:fcvt函数把一个双精度浮点数转换成一个字符串。value参数是要转换的浮点数。参与转换的实际值保留的小数位数由ndigit决定。
只有数字才存储在该字符串中,小数点位置和value符号在调用之后从decpt和sign获取。decpt参数指出给出小数点位置的整数值,它是从该字符串的开头位置计算的。0或负数指出小数点在第一个数字的左边。sign参数指出一个指出转换的数的符号的整数。如果该整数为0,这个数为正数,否则为负数。
参 数:
value:待转换的双精度浮点数
ndigit:转换的字符串中包含小数点后几位
*decpt:返回小数点在串中的位置
*sign:符号标志。
返回值:
char*:指向生成的字符串。
备注:该函数的头文件是"stdlib.h"