【问题标题】:Division between integers in JavaJava中整数之间的除法
【发布时间】: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


【解决方案1】:

将其中一个整数转换为浮点数以确保浮点除法:

float result = integer1 / (float) integer2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 2023-04-02
    • 2015-12-23
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多