舍入值为.5

Ada*_*dam 1 .net c#

有明显的怪癖,Math.Round但有没有办法Math.Round实现这种类型的操纵评级系统.

如果大于.0和小于或等于.5,则显示半个星

如果大于.5和小于或等于.0显示整星

所以很明显是一个半明星.5,一个完整的开始将是下一个整体价值.

我不知道采用舍入方法去半整数.

我应该写if语句来控制我的舍入吗?

**编辑/解决方案

从下面的回答我想出来.

double roundedRating = (Math.Ceiling(2 * currentRating)) / 2;
Run Code Online (Sandbox Code Playgroud)

mat*_*141 17

我建议乘以2,执行Math.Ceiling,然后除以2得到最接近的一半.