在How does DoubleUtil.DoubleToInt(double val) work?我们学习了.NET Framework有舍入浮点值的一种特殊的方式:为什么使用这种尴尬的方式将一个浮点数舍入为一个整数?
public static int DoubleToInt(double val)
{
return (0 < val) ? (int)(val + 0.5) : (int)(val - 0.5);
}
为什么他们不只是使用(int)Math.Round(val)
?
或者:为什么Math.Round
这种方式没有定义,如果这是优越的?必须有一些权衡。
因为'Math.Round'有重载处理多少个小数位来舍去和不同类型,将是我的猜测。 – juharr