1. ホーム
  2. c++

[解決済み] std::string から float または double への変換

2022-03-04 11:13:38

質問

を変換しようとしています。 std::string から float/double . 試してみました。

std::string num = "0.6";
double temp = (double)atof(num.c_str());

しかし、常にゼロを返します。他に方法はありますか?

どのように解決するのですか?

std::string num = "0.6";
double temp = ::atof(num.c_str());

これは、文字列をダブルに変換するための有効なC++構文です。

stringstream や boost::lexical_cast でもできますが、これらはパフォーマンス・ペナルティを伴います。


あはは、Qtのプロジェクトがあるんですね.

QString winOpacity("0.6");
double temp = winOpacity.toDouble();

おまけのメモ
入力データが const char* , QByteArray::toDouble の方が速いでしょう。