【问题标题】:Calculate percent [closed]计算百分比[关闭]
【发布时间】:2022-01-05 18:24:18
【问题描述】:

我想知道如何计算级别系统中的百分比,让我解释一下: 用户有他的经验,这代表了用户所处的级别,即如果他有 0 经验,他就是 1 级,他需要 2000 级经验才能达到 2 级。

然后我想计算达到2000经验的剩余百分比。

例子:

int current_exp = 500;
int required_exp = 1500; // The remaining difference between the current experience and the required experience for level 2.
int level_two_experience = 2000;
float percent = ...

我在网上找了一个例子,用户有 1262 经验,需要 5000 才能下一级,所以百分比是 26.2%。

【问题讨论】:

  • 那么最好问问作者。根据我的计算,1262 / 5000.0 = 0.2524,即 25.24%。
  • 需要更多输入,从0到5000有多少级。
  • 假设你从0经验开始在每个后续级别,只需除以current_experience/total_experience_to_level_up。结果分数是百分比。
  • 请检查您的问题。这听起来让我很困惑。首先你写“我想计算剩余百分比”,然后你写一个看起来是当前百分比的例子,而不是剩余的。此外,@Turing85 注意到,您的示例与计算不匹配
  • 26.2% 是正确的百分比,如果上一个级别达到 1000 XP,而下一个级别达到 2000 XP。

标签: java integer calculation


【解决方案1】:

当使用real numbers 执行计算时,我建议在 Java 中使用 double。

如果您需要精确(例如涉及金钱),我会自己处理小数点后的数字。

在您的情况下,您可以按以下方式计算(剩余百分比):

double percent = (level_two_experience - current_exp) / Double.valueOf(level_two_experience) * 100

如果你想计算它目前达到的百分比,可以这样计算:

double percent = current_exp / Double.valueOf(level_two_experience) * 100

【讨论】:

    【解决方案2】:
    percentage_completed = current_exp / required_exp * 100
    
    precentage_missing = (1 - current_exp / required_exp) * 100
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 2020-09-23
    • 1970-01-01
    • 2011-06-01
    • 2021-01-10
    相关资源
    最近更新 更多