我希望我的代码从文件中读取参数。我在该文件中有这一行:
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/