什么是避免产出负零的最佳方法?

Ali*_*Ali 10 c++ floating-point cout

正如在这个问题中所说,浮点数中的负零和正零之间存在一些差异.我知道这是因为一些重要的原因.我想知道的是一个短代码,以避免输出中的负零.

例如,在以下代码中:

cout << fixed << setprecision(3);
cout << (-0.0001) << endl;
Run Code Online (Sandbox Code Playgroud)

打印"-0.000".但我想要"0.000".

请注意所有其他负数(例如-0.001)仍应使用前面的减号打印,因此根本* -1不起作用.

Mah*_*din 5

根据您的精度尝试。

cout << ((abs(ans) < 0.0005)? 0.000: ans) << endl;