有什么标准方法可以设置ostream来统一打印带符号的0.0,而不带符号?

还是这是最简单的解决方案?

double d = -0.0;
std::cout << ( d==0 ? 0.0 : d);

编辑:

我不想全部使用abs,因为我想看到非0的负数。我只是不想看到-0.0(我的意思是真实的-0,不是很接近)。如果有数据集double data[100];并镜像它:for(...) data[i]*=-1;。由于浮点数固定且精度较低,因此-0.0输出对于接近0的负数也是可以的。

最佳答案

您也可以尝试像这样打印

std::cout << ( 0.0 + d);

07-24 09:36