我想将双精度转换为具有固定宽度的字符串。
如果宽度是 10,那么我希望双精度值四舍五入到这个宽度。
例如,如果 value = 102.121323435345 并且宽度是 10,那么这个值应该是,
位置==> 0123456789 值 = 102.121323
我可以用 snprintf 实现这一点,但我正在寻找一个 c++ 本机代码来做同样的事情。
char buf[125];
snprint(buf, width, "%.6f", value);
我尝试使用以下内容,但对我没有多大帮助,
std::ostringstream oss;
oss << std::fixed << std::setw(10) << std::precision(6) << value;
std::setw 保证值的最小宽度,如果值大于宽度大小,它不会对值进行四舍五入。
谢谢。