有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓在Java中除以两个整数会得到0还是100?

我试着将两个整数除以100,但它总是只给出0或100。有人能帮我吗

    int x= (a/b)*100;

如果a是500,b是1000,它会给我0。唯一一次它会给我100是如果a>=b、 我怎样才能解决这个问题

谢谢


共 (5) 个答案

  1. # 1 楼答案

    我发现的最简单、最有效的方法:

    double x = (double) a / (double) b
    
  2. # 2 楼答案

    整数除法没有分数,所以500/1000=0.5(这不是整数!)它被截断为整数0。你可能想要

    int x = a * 100 / b;
    
  3. # 3 楼答案

    您可以强制它将ab分成两倍,这样:

    int x = (int) (((double) a / (double) b) * 100);
    
  4. # 4 楼答案

    这听起来好像你没有正确输入你的变量;两个整数除法生成一个整数,而不是浮点或双精度。例如:

    (int)3 / (int)5 = 0
    (float)3 / (float)5 = 0.6
    
  5. # 5 楼答案

    试试这个:

    int x = a * 100 / b;
    

    这个想法是,您首先要做a / b,因为它是一个整数运算,所以它会将结果取整为0。首先做a * 100应该可以解决这个问题