微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LINQ查询-从同一条语句中的总和字段中计算百分比

如何解决LINQ查询-从同一条语句中的总和字段中计算百分比

|| 从下面的查询中,我一直在努力获取失败百分比,因为它总是为零。难道我做错了什么。
from n in calculateOrderStatus
group n by new { n.OrderDate.Date,n.OrderDate.Hour } into h
select new 
{
    Failed = h.Sum(n => n.Failed),Success = h.Sum(n => n.Success),FailurePercentage = (h.Sum(n => n.Failed) /  h.Sum(n => n.Success))  * 100
}
    

解决方法

        您正在执行整数除法,而不是浮点运算:因此,如果失败<成功,则将失败除以成功将始终得到零。首先将失败乘以100,然后除以成功。 即
FailurePercentage = 100 * h.Sum(n => n.Failed) /  h.Sum(n => n.Success)
    ,        尝试将计算的操作数强制转换为浮点类型:
 FailurePercentage = ((double)h.Sum(n => n.Failed) /  (double)h.Sum(n => n.Success))  * 100.0
(尽管从技术上讲,铸造第一个就足够了)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。