现在的位置: 首页 > 综合 > 正文

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

2013年05月09日 ⁄ 综合 ⁄ 共 541字 ⁄ 字号 评论关闭

最近在写程序时需要将浮点数转换为字符串,特别是在执行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的第二种形式,更安全。

抱歉!评论已关闭.