在linq语句中将int转换为十进制
我需要在linq语句中得到两个整数除以的十进制结果,如示例所示:在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
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)
}