この質問で述べられているように、浮動小数点数の負のゼロと正のゼロの間にはいくつかの違いがあります。私はそれがいくつかの重要な理由のためであることを知っています。私が知りたいのは、出力の負のゼロを回避するための短いコードです。
たとえば、次のコードで:
cout << fixed << setprecision(3);
cout << (-0.0001) << endl;
「-0.000」が出力されます。でも「0.000」が欲しいです。
他のすべての負の数(たとえば、-0.001)は、マイナス記号を前に付けて印刷する必要があるため、単純* -1
に機能しないことに注意してください。