我需要在 linq 语句中获取除两个整数的十进制结果,如示例所示:
from error in errorslist
select new
{
res = error.count1 / error.count2
}
它以整数形式返回结果,我不能使用Convert.ToDecimal
函数
我需要在 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
}
或者
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
}
您需要将至少一个值转换为 a decimal
:
from error in errorslist
select new
{
res = error.count1 / (error.count2 + 0m)
}