我确信这是可能的,但我的数学并不是那么棒.
我在我的页面上显示最新的电影,我的应用程序使用5星评级系统,但是,我从Web服务收到的数据以百分比形式到达,例如50%.
有没有什么方法可以将这个百分比转换成等级的星级,在这种情况下是50%= 2.5,允许我显示2.5星?
当我有50%的时候看起来相当简单,但如果我得到94%,它会让我可怜的小豌豆混淆大脑!请帮忙.
pax*_*blo 13
如果要将0..100比例转换为0..5比例,只需除以20即可.
如果你想要它在一个半星的边界上,那么将它除以它10,这就是你需要的半星的数量.
请记住,我在这里谈论整数除法,其中值被截断(向下舍入).
您可能还想考虑在除法期间更智能地舍入它,而不是截断,因此像99%这样的东西是5星(而不是4.5).这可以通过简单地在除法之前加上你除以的一半来完成,例如(在C中):
int percent = 94;
int halfstars = (percent + 5) / 10;
Run Code Online (Sandbox Code Playgroud)
这将为0到100之间的输入值提供以下结果:
percent halfstars
------- ---------
0- 4 0
5- 14 1
15- 24 2
25- 34 3
35- 44 4
45- 54 5
55- 64 6
65- 74 7
75- 84 8
85- 94 9
95-100 10
Run Code Online (Sandbox Code Playgroud)