将评级百分比(50%)转换为PHP中的equivelant 5星评级

Sha*_*orm 3 php

我确信这是可能的,但我的数学并不是那么棒.

我在我的页面上显示最新的电影,我的应用程序使用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)