为什么我无法计算双值?

时间:2015-04-06 07:31:27

标签: java double double-precision

我想计算0.95的值。这是我的方法:

public static final int VAR = 5; 
private static double getDouble(){
        double dis = (double)(VAR/100);
        dis = (double)(1-dis);
        return dis;
}

然而,它输出1.0 ??如果我在main方法中键入相同的代码,我得到0.95。我的错误在哪里?

1 个答案:

答案 0 :(得分:6)

(5/100)将返回0double0.0投放到double dis = (5d/100);

只是做:

VAR = 5

由于您已声明double,因此必须将其强制转换为double dis = ((double) VAR) / 100; ,然后执行除法:

{{1}}