在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