1

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

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

它以整数形式返回结果,我不能使用Convert.ToDecimal函数

4

2 回答 2

4

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

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

或者

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

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

from error in errorslist
select new
{
    res = error.count1 / (decimal) error.count2
} 
于 2013-07-16T08:16:56.993 回答
0

您需要将至少一个值转换为 a decimal

from error in errorslist
select new
{
    res = error.count1 / (error.count2 + 0m)
}
于 2013-07-16T08:27:22.033 回答