0

カンマで区切られた「乱数」があるバッファがあります。例えば ​​:

「1589.3,12478.359,485.39971」など

小数部分と整数部分の長さを確認する必要があります。

いくつかの調査を行い、1 つの数値を取得するために、バッファーで strtod() を使用することにしました。

ただし、意図したとおりには機能しません。だから私は簡単な例を試しました:

int number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%d\n", number);

これは 3113 を出力するので、調査を行ったところ、整数ではないため %f を使用する必要があることがわかりました。

だから私はそれを修正しました:

int number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%f\n", number);

そして、それは私に0.000000を出力します

通常の jeyboard のドット (.) とテンキーのドット (.) を使って、コンマ (,) で試してみました。それらはすべて私に同じ結果をもたらします。

私はdev c ++を使用しています(選択できません。ワークステーションの管理者ではありません)。

ご清聴ありがとうございました:)

4

1 に答える 1

4

double 型を使用します。

double number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%lf\n", number);
于 2015-07-06T13:04:31.580 に答える