0
我正在嘗試將與Lambda表達式求和的小數屬性四捨五入。但是舍入不起作用。這裏是我的代碼:當應用於屬性時,Math.Round不起作用
public decimal ActualWeight
{
get
{
decimal actual = 0;
try
{
actual = Math.Round((from c in Containers select c.NetWeight).Sum());
}
catch
{
actual = 0;
}
return actual/(Constants.METRICTONS);
}
}
我試過這個變化,沒有任何作品。我在我的應用程序的其他地方使用Math.Round,它的工作原理是這樣的:
tab2.Cell(1 + x, 5).Value = Math.Round(c.MetricTons, 3).ToString();
這工作正常。有人能告訴我爲什麼我的Math.Round方法在應用到我的lambda表達式/屬性時無法正常工作嗎?
我在找的正確的四捨五入值是241.978。 但是我的破碎數學不斷返回241.976。
'但四捨五入不工作'。你什麼意思?它是否懶惰,拒絕工作? –
在我看來,來自Containers的數據與此應用程序的其他部分略有不同。嘗試分配.Sum()的結果並將其與您在程序的「正確」部分中看到的內容進行比較。 –
您能否爲您提供'NetWeight'的測試場景和'NetWeight'類型(小數點?雙?浮點數?)的樣本值 –