我试图将浮点数和长双精度的精度(即小数位数)设置为10,但我不希望它们填零.即,
123456.789123456789应该给123456.7891234568,但是
123456不应该给123456.0000000000,而是123456
到目前为止,我已将其缩小到:
long double myNumber;
string myString;
ostringstream myStream;
myStream.setf(ios::fixed,ios::floatfield);
myStream.precision(10);
myStream << myNumber;
myString = myStream.str();
我也试过摆弄setfill(”)和std :: ws,但实际上并不能解决它的问题.
有什么建议?
最佳答案 不要使用ios :: fixed for ios :: floatfield.这就是导致填充的原因.只需使用setprecision.