sam*_*333 0 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;
}
Run Code Online (Sandbox Code Playgroud)
但是,它输出1.0 ?? 如果我在main方法中键入相同的代码,我得到0.95.我的错误在哪里?
(5/100)将返回0,将被转换double为0.0.
做就是了:
double dis = (5d/100);
Run Code Online (Sandbox Code Playgroud)
既然你已经声明了VAR = 5,你必须把它投射到double然后进行划分:
double dis = ((double) VAR) / 100;
Run Code Online (Sandbox Code Playgroud)