如何在Java中关闭自动舍入?

如何在Java中关闭自动舍入?,java,eclipse,rounding,Java,Eclipse,Rounding,我的代码: public class klas { public static void main (String [] args) { int a=5, b=4; double c=0; c=a / b; System.out.println ("a/b=c"); System.out.println (a+ " / " + b + " = " + c); } } 我的输出: a/b

我的代码:

public class klas {
    public static void main (String [] args)
    {
        int a=5, b=4;
        double c=0;
        c=a / b;
        System.out.println ("a/b=c");
        System.out.println (a+ " / " + b + " = " + c);

    }

}
我的输出:

 a/b=c
 5 / 4 = 1.0
期望输出:0.2


如何修复它?

当5除以4时,你永远不会得到0.2,但用以下公式可以得到1.25:

c = (double)a/b;

如果不强制转换为双精度,a/b将作为两个整数的除法计算,因此结果也是一个整数。

首先,您要执行整数数学;两个整数相除的结果是
int
。其次,你要求的结果是2/10。这相当于五分之一。所以

double c = 1 / (double) 5;
System.out.printf("%.1f%n", c);
输出是(请求的)


非常糟糕的数学:p和1+1=5是什么?请你解释一下你想要的结果是如何达到0.2的好吗?@SonalPM你不可能总是得到你想要的,但是如果你尝试一下,你会得到你想要的——这就是我想要的答案。我在试验这种新语言和很多数字。很抱歉搞混了。:)
0.2