当前位置: 首页 > 面试题库 >

为什么在Java中将两个整数相除会返回0.0?

谢烨烨
2023-03-14
问题内容
int totalOptCount = 500;
int totalRespCount=1500; 
float percentage =(float)(totalOptCount/totalRespCount);

为什么总是返回值0.0?我也想将其a格式化为00.00格式并转换为字符串吗?


问题答案:

因为转换为浮点数是在除法完成后发生的。你需要:

float percentage = ((float) totalOptCount) / totalRespCount;

你应该可以使用以下格式进行格式化:

String str = String.format("%2.02f", percentage);


 类似资料:
  • 问题内容: 因此,如果我有一个范围为‘0-1024’的数字,并且希望将其取为‘0-255’,那么数学将决定将输入除以输入的最大值(在这种情况下为1024),从而得出我的数字介于0.0-1.0之间。然后将其乘以目标范围(255)。 我要做什么! 但是由于Java中的某些原因(使用处理),它将始终返回值0。 该代码将像这样简单 但是我只得到0.0。我已经尝试过两次和诠释。一切都无济于事。为什么!? 问

  • 问题内容: 我可以看到这对于新程序员来说是一个普遍的问题,但是我没有成功实现我的代码的任何解决方案。基本上,我想将w和v除,必须将其保存到double变量中。但它打印[0.0,0.0,…,0.0] 问题答案: 此行分几步进行 换句话说,精度在转换为两倍之前已经消失了,您需要先转换为两倍,所以 这迫使Java在整个过程中都使用double数学,而不是使用整数数学,然后在最后转换为double

  • Java类中是否有返回两个整数的绝对差值的方法?

  • java数学类中有返回两个整数的绝对差值的方法吗?int absDiff=8-15;int答案=7;

  • 问题内容: 在Java中,hashcode()方法返回整数而不是long。有什么具体原因吗? 问题答案: 那么,一个良好的理由是,基于数据结构(,)使用一个数组来存储箱,并且阵列被限制为索引。 如果必须将其映射到数组索引,那么您将一无所获。

  • 问题内容: 我对此很好奇: 使用Java进行评估时,会发生以下异常: 线程“主”中的异常java.lang.ArithmeticException:/在Foo.main(Foo.java:3)处为零 但是被评估为。 为什么会这样? 问题答案: 这是因为整数没有+/- Inf,NaN的值,并且不允许除以0,而浮点数确实具有这些特殊值。