c# - 获取最接近整数的平均值
问题描述
我有两张桌子
视频
ID、视频名称、视频网址
收视率
Id、VideoId、CommentDesc、Rating(十进制类型)
多个用户可以多次提交 1 个视频的评分。每个人的评分都存储在评分栏中,可以提交包括一半的评分,即 1.5、2.5
在我的网页上,我有一个下拉菜单,用户可以在其中选择平均评分(值是 1-5),并将显示所有具有该平均评分的视频。
我可以使用 Linq to SQL 获得平均值
return myDataCtx.Ratings.Average(i => i.Rating));
但是,如果用户从下拉列表中选择 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()
推荐阅读
- python - Keras --- fit_generator() 期间训练冻结
- python - 如何在元组列表的帮助下对字符串进行切片?
- postgresql - PL/pgSQL 无限循环
- kubernetes - 更改 spring boot admin 注册唯一 ID
- sql - 可以将 TABLE 中的更新行作为新行插入到 VIEW 中吗?
- r - r中每隔两行具有不同值的条件列计算
- css - Webpack 在某些土耳其字符后插入不需要的空格
- actions-on-google - 处理启用显示设备谷歌操作的重新提示
- php - 在数组中搜索一些对象数据
- solr - Solr 错误:在请求处理程序中使用不变量时 QueryComponent.mergeIds(QueryComponent.java:940)