题
我有这样的:
double myDecimal = static_cast<double>(atoi(arg_vec[1]));
cout << myDecimal << endl;
但是为什么当我传递参数是这样的:
./MyCode 0.003
它打印0
代替0.003
解决方案
或者你可以使用关于strtod()。
其他提示
的atoi()转换为整数,想要ATOF(),其转换成一个双
由于您使用C ++,还可以使用stringstreams:
istringstream ss(arg_vec[1]);
double d;
ss >> d;
double d = boost::lexical_cast<double>("0.003");
不隶属于 StackOverflow