您的位置:首页 > 其它

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

2009-12-06 21:15 337 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: