2

我有一个共享点列表,其中包含几个月的销售数据。我使用了三列月份、年份和销售额。我正在尝试编写一个 Web 服务来按月将数据分组为销售额并将其导出为 xml。在 sharepoint 中,2010 年的销售数字有 2 个小数位,对于 2011 年和 2012 年,它们是整数。当我运行以下 linq 查询时,它为我提供了 2010 年和 2011 年的正确总和,但对于 2012 年,它将数字四舍五入到最接近的百万。

var query = from row in SPListDT.AsEnumerable()
group row by new
{
    year = row.Field<double>("Year"),
    month = row.Field<string>("Month")
} into grp
orderby grp.Key.year, grp.Key.month
select new
{
    Key = grp.Key,
    year = grp.Key.year,
    month = grp.Key.month,
    budgetSum =grp.Sum(r => r.Field<double>("Sales"))
};

Sharepoint 似乎只有一种数字(数字)数据类型,使用此方法返回双精度数。我使用网络服务只回扣它获得的所有数字,而且它们每年都是正确的。为什么只对部分数据进行四舍五入?

4

0 回答 0