0
爲什麼(0.406 * 10000.0)
回報4060.0000000000005
而不是4060.0
在C#計算不正確的C#
我已經寫了哪些檢查沒有的功能。雙精度值和小數點以下是我正在使用的代碼。當的d is 0.406
值和n is 4
值和函數返回true
代替false
我願意使用替代的解決方案發生在上面的語句中描述的問題。
public static bool HasMoreThanNDecimals(double d, int n)
{
return !(d * (double)Math.Pow(10, n) % 1 == 0);
}