gpt4 book ai didi

java - 将整数映射为百分比 [0,100]

转载 作者:行者123 更新时间:2023-12-02 06:08:06 27 4
gpt4 key购买 nike

我正在尝试映射 [0.0, 100.0] 范围内的所有 Integer

我知道公式是:

((input - min) * 100) / (max - min)

您可以想象,如果您想要映射整个 Integer 域,则必须使用 Integer.MIN_VALUEInteger.MAX_VALUE

double percentage = ((double) input - Integer.MIN_VALUE) * 100 / (Integer.MAX_VALUE - Integer.MIN_VALUE);

这里的问题是 Integer.MAX_VALUE - Integer.MIN_VALUE 将溢出到 -1

我想出的解决方案是在执行任何操作之前将每个Integer转换为double

double percentage = ((double) input - (double) Integer.MIN_VALUE) * 100.0 / ((double) Integer.MAX_VALUE - (double) Integer.MIN_VALUE);

一些转换为 double 的操作可以省略,但为了清楚起见,我将保留所有这些。

是否有更好、更简洁的方法来进行此映射?

最佳答案

更清洁的方式:

Double input = 12d;
Double min = Double.valueOf(Integer.MIN_VALUE);
Double max = Double.valueOf(Integer.MAX_VALUE);

Double percentage = (input - min)*100.0/(max-min);

关于java - 将整数映射为百分比 [0,100],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48507609/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com