获取最接近整数的平均值

Get average to closest whole number

我有两张桌子

视频

身份证, 视频名称, 视频网址

评分

身份证, 视频编号, 评论描述, 评级(小数类型

多个用户可以多次提交对 1 个视频的评分。每个人的评分都存储在评分列中,并且可以提交包括一半的评分,即 1.5、2.5

在我的网页上,我有一个下拉菜单,用户可以在其中 select 平均评分(值为 1-5),并将显示具有该平均评分的所有视频。

我可以使用 Linq 获得平均值 SQL 使用类似

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

但是,如果用户 select 从下拉列表中选择一个介于 1-5 之间的整数,我如何才能将评级列四舍五入到最接近的整数?

你可以这样得到最近的号码。

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()