【发布时间】:2010-10-12 20:08:27
【问题描述】:
我有这个:
double myDecimal = static_cast<double>(atoi(arg_vec[1]));
cout << myDecimal << endl;
但是为什么当我这样传递参数时:
./MyCode 0.003
它打印 0 而不是 0.003。
【问题讨论】:
标签: c++ decimal argument-passing
我有这个:
double myDecimal = static_cast<double>(atoi(arg_vec[1]));
cout << myDecimal << endl;
但是为什么当我这样传递参数时:
./MyCode 0.003
它打印 0 而不是 0.003。
【问题讨论】:
标签: c++ decimal argument-passing
double d = boost::lexical_cast<double>("0.003");
【讨论】:
由于您使用的是 C++,因此您也可以使用字符串流:
istringstream ss(arg_vec[1]);
double d;
ss >> d;
【讨论】:
atoi()转成整数,你要atof(),转成double
【讨论】: