函数_gcvt和_gcvt_s可以将浮点数转换为字符串,我在 http://blog.youkuaiyun.com/master_feng2009/article/details/9446355中有描述。
但是当浮点数为无限小数时转换为字符串可能会自动变为科学计数法,而有些情况下不应该转换为科学技术法,如执行SQL语句时,当插入浮点数据时,如果为科学计数法则会出错。
那么如何避免自动转换为科学计数法呢,下面的方法即可:
double dPrecision;
dPrecision= 0.06666666666666;
_gcvt_s(cArray,dPrecision,20);//输出结果为6.6666666666660004e-002
ostrstreamos;
istreamin(os.rdbuf());
os<<endl;
os<<dPrecision;
os<<ends;
in>>cArray;//结果,0.0666667,不是科学计数法
注意:需要包含头文件#include <strstream>才可以。