C ++,MFC中的指数编号转换

时间:2014-02-24 10:56:24

标签: c++ visual-c++ mfc cstring

我是MFC的新手,现在我想将指数数字“4.246E + 3”转换为4246.

输入是字符串和输出我想在int中获取它。

如果我们有任何方式(API)在MFC,C ++中获取它,请告诉我。

由于 MAP

2 个答案:

答案 0 :(得分:2)

以下代码可以很好地解决您的问题......

#include<sstream>

string str = "4.246e+3";
stringstream ss;
double number;
ss<<str;
ss>>number;

答案 1 :(得分:-1)

您可以使用标准库函数,它允许str采用科学记数法。

int stoi (const string&  str, size_t* idx = 0, int base = 10);

如果您提供idx并且它返回nullptr,则str是纯数字,如果不是,则返回str中第一个无效字符的地址。

最好尽可能使用标准C ++库函数而不是MFC来帮助将来移植MFC。