30 Apr
2009
30 Apr
'09
4:38 p.m.
I'm seeing unexpected behavior when using lexical_cast<string>. This code: const float f = 00123.12300; cout << f << endl; cout << boost::lexical_caststd::string(f) << endl; gives the result: 123.123 123.123001 Two questions: (1) Is there a way to eliminate this trailing '1' with lexical_cast (presumably some wierd rounding error)? (2) When casting float-to-string, given this behavior, why should I use lexical_cast instead of, say, stringstream? Thanks -Grant