最近在写程序时需要将浮点数转换为字符串,特别是在执行SQL时,从网上搜到使用sprintf_s即可,但是我没有试成功。
后来又发现下面两种方式即可将浮点数转换为字符串:
有两个函数可以将浮点数转换为字符串:_gcvt和_gcvt_s,后者是增强版,这两个函数需要头文件:#include <stdlib.h>。
例如:
char cArray1[20];
char cArray2[20];
char cArray3[20];
double nResult = 1.0/3.0;
_gcvt_s(cArray1,nResult, 10);//形式1,小数点后保留10为
printf("nResult=%s\n",cArray1);
//形式2,参数2指定字符串数组的大小,小数点后保留10位
_gcvt_s(cArray2,20,nResult,10);
printf("nResult=%s\n",cArray2);
_gcvt(nResult,12,cArray3); //小数点后保留12位
printf("nResult=%s\n",cArray3);
注意:这两个函数的第2个参数的意义是指定保留小数点后的位数,因此上例中_gcvt比_gcvt_s多输出两个3.
建议采用_gcvt_s的第二种形式,更安全。
本文介绍了两种将浮点数转换为字符串的方法:_gcvt和_gcvt_s,并提供了具体的使用示例。这两种方法需要包含头文件<stdlib.h>,其中_gcvt_s更加安全。
1437

被折叠的 条评论
为什么被折叠?



