-1

我建立了 5 星评级系统。当用户保持对照片的评级并且最终br将返回超过 100% 时,问题就来了,我如何确保它以百分比返回而不超过 100%

br = ( (avg_num_votes * avg_rating) + (this_num_votes * this_rating) ) / (avg_num_votes + this_num_votes)
4

1 回答 1

1

假设avg_ratingthis_rating都不超过 100%,并且所有值都是非负数,那么您的公式将永远不会超过 100%。

br = ( (avg_n * avg_r) + (this_n * this_r) ) / (avg_n + this_n) <=
   <= ( (avg_n * 100%) + (this_n * 100%) ) / (avg_n + this_n) =
   = 100% * (avg_n + this_n) / (avg_n + this_n) =
   = 100%

如果avg_rating并且this_rating不是以百分比来衡量(例如,它们是 0-5 的星数),您应该首先将它们转换为百分比。

于 2012-04-23T09:26:05.687 回答