我遇到了一個問題,我寫了一個查詢,因爲某些原因,我用來存儲十進制值的變量返回小數點後的6個值(它們大部分0)。LINQ to SQL Math.Round問題
我試過以下(和使用Math.Round的不同組合),沒有運氣。
Sales =
(from invhed in INVHEAD
... // Joins here
orderby cust.State ascending
select new Sale
{
InvoiceLine = inv.InvoiceLine,
InvoiceNum = inv.InvoiceNum,
...
NetPrice = Math.Round((inv.ExtPrice - inv.Discount) * (Decimal) (qsales.RepSplit/100.0), 2, MidpointRounding.ToEven),
}).ToList<Sale>();
的NetPrice構件具有類似值300.000000,5000.500000,3245.250000等
任何線索?我似乎無法在網上找到有關此問題的任何信息。
編輯:
Decimal.Round的伎倆(我忘了提及的是,NetPrice成員是一個小數型)。請參閱下面的答案。
奇怪的是,這是劃分操作,搞亂了事情。如果我只是這樣做:inv.ExtPrice - inv.Discount,我得到一個十進制值,在我的XML輸出中只有2個小數位。 – Overhed 2009-09-04 20:29:12