标题:
浮点数(0.0018)用fcvt()转换成字符串不对怎么办?
[打印本页]
作者:
pinkiecao
时间:
2006-1-23 20:20
标题:
浮点数(0.0018)用fcvt()转换成字符串不对怎么办?
各位大侠:
我发现当双精度数很小(即小于0,且有效数字不是从十分位开始时)用fcvt()会将有效数字前的‘0’省略,该怎么办呢?
double f1;char*str;CString str1[16],Head,Tail;
str=fcvt(f1,4,&dec,&sign);
str1[1]=str;
Head=str1[1].Left(dec);
Tail=str1[1].Mid(dec);
str1[1]=Head+"."+Tail;
如果f1=0.0018,此时str1[1]=0.18,怎样才能得到0.0018的字符呢?
希望得到您的建议,非常感谢!
作者:
Nothing
时间:
2006-1-23 23:34
不明白你为什么使用fcvt
既然使用了MFC中的CString类,就直接使用CString的方法吧。
请看下面的代码
[code:b8a2dd4c12] CString a,b,c,d;
double f1=0.000018;
a.Format( "%f",f1);
b=a.Left(a.Find("."));
c=a.Right(a.GetLength()- a.Find(".")-1);
d=b+"."+c;
cout << (LPCTSTR)b << endl;
cout << (LPCTSTR)c << endl;
cout << (LPCTSTR)d << endl;[/code:b8a2dd4c12]
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0