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

在linq语句中将int转换为十进制,linq,Linq,我需要在linq语句中得到两个整数除以的十进制结果,如示例所示: from error in errorslist select new { res = error.count1 / error.count2 } 它以整数形式返回结果,我无法使用Convert。ToDecimal函数整数除法会导致int,其中小数部分被截断,因为它不能存储在结果类型(int)中。因此,两者中至少有一个必须是浮点类型 from error in errorslist select new { r

我需要在linq语句中得到两个整数除以的十进制结果,如示例所示:

from error in errorslist
select new
{
    res = error.count1 / error.count2
} 

它以整数形式返回结果,我无法使用
Convert。ToDecimal
函数

整数除法会导致
int
,其中小数部分被截断,因为它不能存储在结果类型(
int
)中。因此,两者中至少有一个必须是浮点类型

from error in errorslist
select new
{
    res = error.count1 / (double) error.count2
} 

更新如果您希望结果类型为
十进制
(因为问题的标题):


整数除法产生
int
,其中小数部分被截断,因为它不能存储在结果类型(
int
)中。因此,两者中至少有一个必须是浮点类型

from error in errorslist
select new
{
    res = error.count1 / (double) error.count2
} 

更新如果您希望结果类型为
十进制
(因为问题的标题):


您需要将至少一个值转换为十进制:

from error in errorslist
select new
{
    res = error.count1 / (error.count2 + 0m)
}

您需要将至少一个值转换为十进制:

from error in errorslist
select new
{
    res = error.count1 / (error.count2 + 0m)
}