如何得到 - 0为圆形小负数?

Car*_*ine 5 c# rounding

当我舍入一个小的负数时,它四舍五入为0.例如:decimal.Round(-0.001M, 2)返回0.

如果将其四舍五入为零,我该如何获得该符号.还有其他更好的方法,而不是检查n<0然后完成回合?

Sri*_*vel 2

比较位也适用于十进制。感谢@JonSkeet,否则我永远不会知道这个技巧。

var d = decimal.Round(-0.001M, 2);
bool isNegativeZero = d == decimal.Zero && decimal.GetBits(d).Last() < 0;
Run Code Online (Sandbox Code Playgroud)

这是演示