有什么标准方法可以设置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);