double value;
std::ostringstream s;
s << std::fixed << std::setprecision(3) << value;
当在tovalue
范围内徘徊时,在和之间闪烁。有没有一种干净的方法来抑制减号,它只表示不相关的噪音小数点后十位?-1.0e-14
1.0e-14
s
"0.000"
"-0.000"
(不太一般的情况是cout << ...
。)
避免输出负零的最佳方法是什么?解决表面问题。它的答案是在传递给 <<之前四舍五入到正确的有效数字位数,与“如果所有数字都为零,则只需删除 frickin' 减号”相比,需要大量计算。