1. ホーム
  2. c++

[解決済み] 浮動小数点値の変換時に std::to_string の精度を設定する [重複] 。

2023-05-04 11:42:27

質問

C++11では std::to_string 型の入力値が与えられると、デフォルトで小数点以下 6 桁になります。 float または double . この精度を変更するために推奨される、または最もエレガントな方法は何ですか?

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

によって精度を変更する方法はありません。 to_string() を使うことはできませんが setprecision IOマニピュレータで代用できるかもしれません。

#include <sstream>

template <typename T>
std::string to_string_with_precision(const T a_value, const int n = 6)
{
    std::ostringstream out;
    out.precision(n);
    out << std::fixed << a_value;
    return out.str();
}