我希望我的代码从文件中读取参数。我在该文件中有这一行:
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++从字符串中解析小 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5855566/