質問

これがあります:

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

しかし、なぜ次のように引数を渡すのですか:

./MyCode 0.003   

0.003 ではなく 0 を出力します。

役に立ちましたか?

解決

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

または strtod()を使用できます。

他のヒント

atoi()は整数に変換します。atof()はdoubleに変換します

C ++を使用しているため、stringstreamsも使用できます。

istringstream ss(arg_vec[1]);
double d;
ss >> d;
double d = boost::lexical_cast<double>("0.003");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top