【发布时间】:2011-03-05 09:52:59
【问题描述】:
我需要在Java中对整数进行除法,结果应该是浮点数。
我可以只使用/ 符号吗?如:
int integer1 = 1;
int integer2 = 2;
float quotient = integer1 / integer2; // Could I do this?
【问题讨论】:
-
您可能还想检查 this SO post 处理分数。如果您要在其他计算中使用除法结果,则需要获得所有帮助以尽量减少舍入误差。
-
我建议您使用
double而不是float,因为float不能准确地表示所有int值。试试(double) integer1 / integer2 -
@Peter:我同意。郑重声明,
double只比float差。它不能解决问题。我想你已经知道了,但我只是想让它记录在案。 :) -
@Adam, 'double' 至少可以重复所有
int值而不会出错。它不能无误地表示所有int/int值,但可能会有适当的舍入,这对于 OPs 应用程序是可以接受的。否则,您需要使用 Faction(用于无限精度)或 BigDecimal(用于非常长的精度)
标签: java math integer-division