-3

重複の可能性:
文字列をdoubleに変換する

Cで変換する必要があります" 5.71"5.71

文字列をトークンとして読み込んでいますが、値をdoubleとして格納する必要があります。

これを行う機能はありますか?そして、どの印刷ステートメントを使用する必要がありますか?

char *number = "5.71";
printf("%???", double);

どんな助けでも素晴らしいでしょう!

4

3 に答える 3

1

あなたが探しているstrtod()

そして、どの印刷ステートメントを使用する必要がありますか?

のフォーマット指定子はdoubleです%lf

于 2012-12-11T19:46:32.653 に答える
0

使用を検討してください

sscanf(number, "%f", &doubleVar);

それはそれを行うための「標準的な」方法でなければなりません。

于 2012-12-11T19:48:12.787 に答える
0

これを行う機能はありますか?

はい、strtod、strtof、および strtoldは、文字列をそれぞれdoublefloatおよびlong doubleに変換します。例えば:

float f = strtof("2.718281829", NULL);

そして、どの印刷ステートメントを使用する必要がありますか?

ええと、それらはむしろフォーマット指定子と呼ばれています。また、正確なタイプによって異なります。

float f = 3.14;
double d = 3.14;
long double ld = 3.14;

printf("%f %lf %llf\n", f, d, ld);
于 2012-12-11T19:49:32.103 に答える