科学计数法如何转换成普通的计数方式??

http://topic.csdn.net/u/20070716/15/23acde59-75ad-47c0-bc74-59e635427fcb.html

发表于:2007-07-16 15:13:32
如:str1= "1.78e-002 "

怎么才能将str2   =   "0.0178 "
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
回复次数: 14

 

  • xwdd129
  • (明慧--加油)
  • 等 级:
#1楼 得分:0 回复于:2007-07-16 15:37:30
double   d   =   0.0178;
CString   str;
str.Format( "%e ",d);
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 如何在崩溃的时候得到完整的栈信息
  • xwdd129
  • (明慧--加油)
  • 等 级:
#2楼 得分:0 回复于:2007-07-16 15:39:56
哦,有误!

str.Format( "%e ",d);     -------结果为 "1.78e-002 "
str.Format( "%f ",d);     -------结果为 "0.0178 "
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 我对爱情的一些看法
  • arrowcy
  • (长弓手)
  • 等 级:
#3楼 得分:0 回复于:2007-07-16 15:41:43
先要用_gcvt等函数转换成数字,然后再用楼上的format转换成字符串
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 【讨论】现有C++板块合并
  • koji002
  • 等 级:
#4楼 得分:0 回复于:2007-07-16 15:42:24
我的意思是要把 "1.78e-002 "转换成 "0.0178 "
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 有人做过基于状态机的程序架构嘛!交流交流
  • koji002
  • 等 级:
#5楼 得分:0 回复于:2007-07-16 15:46:00
字符串“1.78e-002”通过什么方法能得到字符串“0.0178”
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 【回应】windows7出山,VC可以退出历史舞台了
  • lzg0001
  • (铁杆 C/C++er !)
  • 等 级:
#6楼 得分:0 回复于:2007-07-16 15:54:08
字符串-> 数值-> 字符串
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • koji002
  • 等 级:
#7楼 得分:0 回复于:2007-07-16 16:13:51
不好意思。。你们的想法都是错的
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • diudiuqqqq
  • (http://blog.sin)
  • 等 级:
#8楼 得分:50 回复于:2007-07-16 17:46:14
CString   CGsCardCtrl::MatlabToFloat(CString   strVal)
{
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;
}
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • emptyness
  • (moon)
  • 等 级:
#9楼 得分:0 回复于:2007-07-16 18:33:58
不好意思。。你们的想法都是错的


???
    楼上几个不是列出函数了么??什么叫想法错了?你想自己实现?那看看楼上的代码咯。
我也说一次函数吧。

假设你的str= "1.55e-2 ",  
然后double   f=strtod(str,NULL)(如果你保证str写法正确),
char   s[20];  
sprintf(s, "%f ",(float   )f);  
//     s就是你想要的字符串.
printf(s);
这些函数包含stdlib就可以..不需要MFC.
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • emptyness
  • (moon)
  • 等 级:
#10楼 得分:0 回复于:2007-07-16 18:40:03
帮你百度了下     字符串转换    
贴几个网,   自己选吧;
http://blog.sina.com.cn/u/58d95050010009dy
http://krings.itpub.net/
.........

atof(将字符串转换成浮点型数)  
atoi(将字符串转换成整型数)  
atol(将字符串转换成长整型数)  
ecvt(将浮点型数转换成字符串,取四舍五入)  
fcvt(将浮点型数转换为字符串,取四舍五入)  
gcvt(将浮点型数转换为字符串,取四舍五入)  
strtod(将字符串转换成浮点型数)  
strtol(将字符串转换成长整型数)  
strtoul(将字符串转换成无符号长整型数)  
toascii(将整型数转换成合法的ASCII码字符)  
tolower(将大写字母转换成小写字母)  
toupper(将小写字母转换成大写字母)  
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • arrowcy
  • (长弓手)
  • 等 级:
#11楼 得分:0 回复于:2007-07-17 01:50:26
既然楼主认为我们的想法是错的,就说说哪里错了,没有满足那个要求,要不然别人无法继续帮你。。。
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • koji002
  • 等 级:
#12楼 得分:0 回复于:2007-07-17 09:42:22
_gcvt是将浮点型转换成字符串   我现在得到的只有一个字符串,并且我要转换的是个科学计数法不是浮点型的数字

strtod又是什么?只是取出字符串中的数字,能得到科学计数法的正确值吗?别告诉我你连科学计数法是什么都不知道,呵呵

随便扔点东西上来就想拿分的人。我一分都不会给的

diudiuqqqq是对的
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • emptyness
  • (moon)
  • 等 级:
#13楼 得分:0 回复于:2007-07-17 10:55:45
。。。。天啊。。。我无语了。你运行了我的程序了么?   你没运行怎么知道我是随便乱扔的。
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.
  • 对我有用 [0 ]
  • 丢个板砖 [0 ]
  • 引用
  • 举报
  • 管理
  • TOP
  • joyjjjz
  • (Robin)
  • 等 级:
#14楼 得分:0 回复于:2009-03-10 13:30:33
mark

你可能感兴趣的:(科学计数法如何转换成普通的计数方式??)