您的位置:首页 > 编程语言 > C语言/C++

C/C++中如何将浮点数转换为字符串

2013-07-24 09:59 417 查看
最近在写程序时需要将浮点数转换为字符串,特别是在执行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的第二种形式,更安全。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: