asp.net 取最接近整数的平均值

wpx232ag  于 2023-01-22  发布在  .NET
关注(0)|答案(1)|浏览(143)

我有两张table
视频
ID、视频名称、视频URL
评级
ID、视频ID、评论说明、分级(十进制
多个用户可以多次提交一个视频的评分。每个人的评分都存储在评分栏中,并且可以提交包括一半(即1.5、2.5)的评分
在我的网页上,我有一个下拉菜单,用户可以选择平均评级(值为1-5),并将显示所有的视频与该平均评级。
使用Linq to SQL可以得到平均值,如下所示

return myDataCtx.Ratings.Average(i => i.Rating));

但是,如果用户从下拉列表中选择了1-5之间的整数,我如何将评级列舍入到最接近的整数呢?

n3schb8v

n3schb8v1#

你可以得到最接近的数字这样做。

decimal d = 1.75M;
var ceiling = Math.Ceiling(d);
var floor = Math.Floor(d);

var closest = ceiling - d < d - floor ? ceiling : floor;

x.5必须单独处理。
您也可以使用Math.Round()

相关问题