重複の可能性:
文字列をdoubleに変換する
Cで変換する必要があります" 5.71"
。5.71
文字列をトークンとして読み込んでいますが、値をdoubleとして格納する必要があります。
これを行う機能はありますか?そして、どの印刷ステートメントを使用する必要がありますか?
char *number = "5.71";
printf("%???", double);
どんな助けでも素晴らしいでしょう!
重複の可能性:
文字列をdoubleに変換する
Cで変換する必要があります" 5.71"
。5.71
文字列をトークンとして読み込んでいますが、値をdoubleとして格納する必要があります。
これを行う機能はありますか?そして、どの印刷ステートメントを使用する必要がありますか?
char *number = "5.71";
printf("%???", double);
どんな助けでも素晴らしいでしょう!
使用を検討してください
sscanf(number, "%f", &doubleVar);
それはそれを行うための「標準的な」方法でなければなりません。
これを行う機能はありますか?
はい、strtod、strtof、および strtoldは、文字列をそれぞれdouble
、float
および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);