私が書いたクエリに問題があります。何らかの理由で、小数点以下の値を格納するために使用している変数が、小数点以下6つの値を返します(ほとんどは0です)。
私は運が悪かったので、以下(および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メンバーがDecimalタイプであることに言及するのを忘れました)。以下の私の答えを参照してください。