1

私はこれを持っています:

double myDecimal = static_cast<double>(atoi(arg_vec[1]));
cout << myDecimal << endl;

しかし、なぜ私がこのような議論を渡すとき:

./MyCode 0.003   

0の代わりに印刷し0.003ます。

4

4 に答える 4

7

atoi()整数に変換します。あなたが欲しいatof()

または、 strtod()を使用することもできます。

于 2009-03-12T02:38:39.930 に答える
3

atoi()は整数に変換され、doubleに変換されるatof()が必要です。

于 2009-03-12T02:38:32.300 に答える
2

C++ を使用しているため、文字列ストリームも使用できます。

istringstream ss(arg_vec[1]);
double d;
ss >> d;
于 2009-03-12T03:10:06.873 に答える
1
double d = boost::lexical_cast<double>("0.003");
于 2009-03-12T08:57:23.280 に答える