• ベストアンサー

小数点入りの文字列をfloat型に変換

例えば、 32.1 のように4文字の文字列が、あるchar型配列に入っている場合、この値を使って計算したいので、float型などに変換したいのですが、どんな方法がありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

「float型など」の「など」に何が含まれるかが分かりませんが、float型であれば以下の方法が考えられます。 char str[] = "32.1"; char *endptr; float x; /* 以下の3種類のどれか */ x = atof(str); x = strtod(str, &endptr); sscanf(str, "%f", &x); また、C99対応の処理系であれば、strtof関数が使えますし、C++であれば、std::stringstreamを生成して、>>演算子を使う方法もあります。

taurus4
質問者

お礼

ありがとうございます。sscanfなんてのもあるんですね、勉強になりました かきわすれましたが、ちなみに、c言語での質問でした。 処理系によっても使える関数が変わってくるんですね、ありがとうございました。

その他の回答 (1)

回答No.1

double atof( const char * ) を使えば良いでしょう。 ヘッダは、stdlib.hです。

taurus4
質問者

お礼

ありがとうございました。 基本的な質問ですみませんでした

関連するQ&A

専門家に質問してみよう