我遇到了一个问题,我写了一个查询,因为某些原因,我用来存储十进制值的变量返回小数点后的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