java - 为什么Java中两个整数相除返回0.0?

标签 java floating-point integer-division

int totalOptCount = 500;
int totalRespCount=1500; 
float percentage =(float)(totalOptCount/totalRespCount);

为什么这总是返回值 0.0?我也想把它格式化成 00.00 格式并转换成字符串?

最佳答案

因为到 float 的转换发生在除法完成之后。你需要:

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

您应该能够使用以下格式进行格式化:

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

关于java - 为什么Java中两个整数相除返回0.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931892/

相关文章:

java - 尽管 isDebugEnabled 为真,但 log4j 调试消息未显示在控制台中

javascript - JavaScript 中 float 的除法

ios - float 如何用十六进制表示?

c# - 如何检查一个整数是否是给定整数的总和?

java - Java中如何实现等价类?

java - 获取我刚刚插入 Derby DB 的记录的 ID

c++ - 将 mpfr_t(或任何其他任意精度库类型)转换为 __float128

c++ - 在 C++ 中获取数字的百分比

python - 不同IDE的除法结果不同

java - 私有(private)的嵌套类(内部或静态)是否可以具有可公共(public)访问的方法?