我希望我的代码从文件中读取参数。我在该文件中有这一行:

tol=1e-10

我使用atof将其解析为一个float:
double tol;
char * c = "1e-10"
tol=atof(c);

但是,它被解析为0而不是1e-10

编辑:事实证明它可以正确解析,很抱歉打扰你们。我忘记了printf默认情况下不会显示较小的值。自从我的一张支票冻结以来,我一开始就对此感到怀疑。

最佳答案

这段代码:

#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
    double d = atof( "1e-10" );
    cout << d << endl;
}

打印1e-10。

关于c++ - C++从字符串解析小浮点数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5855566/

10-10 07:28