gpt4 book ai didi

java - 数学地板混合类型错误?

转载 作者:行者123 更新时间:2023-12-02 03:24:18 24 4
gpt4 key购买 nike

我有这个:

String a = tonsescolhidos.getValue().toString();
int tons = Integer.parseInt(a);
float distlevel = 256/(tons - 1);
int temp;
temp = Math.floor(((float) (tons / distlevel) + 0.5)*distlevel);
tons = temp;

我在第 5 行收到错误:“不兼容的类型:可能从 double 到 int 的有损转换”。我如何以正确的方式转换变量......我错过了什么?

最佳答案

Math.floor 只有一个重载:double Math.floor(double) 。它总是返回一个 double 值。

您需要将其显式转换为 int:

temp = (int) Math.floor(...);

但请注意,它可能是有损的:double 可以存储太大而无法存储在 int 中的值。因此,您需要通过确保 double 的值介于 Integer.MIN_VALUEInteger.MAX_VALUE 之间来确保这不是有损操作。 ,通过适本地限制输入。

或者,重新安排计算,以便可以用整数数学来完成所有计算。

关于java - 数学地板混合类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39189899/

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