我需要在linq语句中将十进制转换为int

时间:2010-11-10 02:01:22

标签: .net linq-to-sql

我有这个linq声明。

var sum = from l in list
select new
{
    Sum = (l.sum + .005) * 1000
};

此行不起作用:

Sum = (l.sum + .005) * 1000 

因为sum是小数。

我想使用System.Data.Objects.SqlClient.SqlFunctions,但没有ConvertCast ......

我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:3)

据我所知,问题是0.005double,而l.sum不是decimal。如果你改变它,你的代码应该可以工作:

var sum = from l in list
select new
{
    Sum = (l.sum + .005M) * 1000
};

请注意M

之后的.005