如:str1="1.78e-002"怎么才能将str2 = "0.0178"
解决方案 »
- VC如何让控制台打印Ajax的功能:“.”到“..”到“...”循环
- rand()% 0xFEDCBA987 和 rand()% 0xF 的运算量哪个更耗CPU或相同?
- 一个C++define的问题。
- 创建非模态窗口的问题
- 在VC++中创建一个ActiveX控件,为什么注册不成功,急!!!!
- 定义 的YESNO消息框如何设置IDNO为焦点
- 函数INDEXTOSTATEIMAGEMASK(i)的作用是什么?
- 如何获得鼠标的位置坐标??
- 用IPicture接口显示gif图象会不会失真?
- 如何判断一个窗口已经打开??
- 请问怎么有关于MFC界面设计的电子书清楚版的
- 网络传输文件端点续传丢包解决方案,大家看看!
CString str;
str.Format("%e",d);
str.Format("%f",d); -------结果为"0.0178"
{
int nIndexE = 0; //'e'所在位置
float lSvl = 0; //'e'左侧的数值
int nCount = 0; //'e'右侧的数值
CString strReturn = ""; nIndexE = strVal.Find('e');
lSvl = atof(strVal.Left(nIndexE));
nCount = atoi(strVal.Mid(nIndexE + 2, strVal.GetLength())); if("-" == strVal.Mid(nIndexE + 1, 1))
{
lSvl = lSvl / pow(10, nCount);
}
else
{
lSvl = lSvl * pow(10, nCount);
} strReturn.Format("%f", lSvl);
return strReturn;
}
???
楼上几个不是列出函数了么??什么叫想法错了?你想自己实现?那看看楼上的代码咯。
我也说一次函数吧。假设你的str="1.55e-2",
然后double f=strtod(str,NULL)(如果你保证str写法正确),
char s[20];
sprintf(s,"%f",(float )f);
// s就是你想要的字符串.
printf(s);
这些函数包含stdlib就可以..不需要MFC.
贴几个网, 自己选吧;
http://blog.sina.com.cn/u/58d95050010009dy
http://krings.itpub.net/
.........atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
ecvt(将浮点型数转换成字符串,取四舍五入)
fcvt(将浮点型数转换为字符串,取四舍五入)
gcvt(将浮点型数转换为字符串,取四舍五入)
strtod(将字符串转换成浮点型数)
strtol(将字符串转换成长整型数)
strtoul(将字符串转换成无符号长整型数)
toascii(将整型数转换成合法的ASCII码字符)
tolower(将大写字母转换成小写字母)
toupper(将小写字母转换成大写字母)
strtod是什么。。这个函数内部就是“diudiuqqqq是对的” 贴的代码。“
strtod又是什么?只是取出字符串中的数字,能得到科学计数法的正确值吗?别告诉我你连科学计数法是什么都不知道,呵呵
”晕死。。它这个函数是c\C++标准库的,它能进标准库,就肯定能得到科学计数法的正确值。上过初中的都知道科学计数法。随便扔也得花百度搜索的时间是吧。我总没甩个避孕套广告吧。好冤枉的感觉, 运行我写的代码 什么也不说了。“
假设你的str="1.55e-2",
然后double f=strtod(str,NULL)(如果你保证str写法正确),
char s[20];
sprintf(s,"%f",(float )f);
// s就是你想要的字符串.
printf(s);
这些函数包含stdlib就可以..不需要MFC.
”