次のコードの場合
std::cout<<boost::lexical_cast<std::string>(2.34)<<std::endl
次の出力が得られます。
2.3399999999999999
一方、もし私がするなら
double d = 2.34;
std::stringstream ss;
ss<<d;
std::string s = ss.str();
cout<<s<<endl;
次の出力が得られます。
2.34
なぜこうなった ?明らかに、前者ではなく、後者の出力表現を探しています。
ありがとう、