質問

私はC ++文字列に二重に変換しようとしているいくつかの問題を抱えています。ここに私のコードです。

std::string doubleToString(double val)
{
    std::ostringstream out;
    out << val;
    return out.str();
}
ダブルが「10000000」として渡されている場合は、

私が持っている問題があります。その後、返される文字列の値が1E + 007

私は「10000000」

などの文字列値を取得できますか
役に立ちましたか?

解決

#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...

また、小数点以下の桁数を設定するsetprecisionを使用して検討するかもしれません

out << fixed << setprecision(2) << val;

他のヒント

#include <iomanip>

std::string doubleToString(double val)
{
   std::ostringstream out;
   out << std::fixed << val;
   return out.str();
}

また、最小幅を設定することができ、同様に、STLのIOマニピュレータとの文字を記入します:

out.width( 9 );
out.fill( ' ' );
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top