私は次のコードを持っています:
template<typename _Tp>
std::string string_from_number(_Tp number, int precision = 5)
{
std::ostringstream oss;
oss.width(precision+1);
oss<<number;
return oss.str();
}
ただし、文字列の長さは期待どおり5ではありませんが、デフォルトのままです。
に置き換えoss.width
てoss<<std::setw
も機能しません。私は何が間違っているのですか?
編集:
数値がダブルタイプ、たとえば0.123456789の場合、問題は明確に現れます。