在我的代码中,我正在执行数字划分并将其存储在双变量中。但变量只返回一个精度。我想提高精度,我怎么能这样做。
double x;
for ( int i =0 ; i<10000 ; i++)
{
x= w[i] / l[i];
System.out.println(x);
}
在上面的代码中,w和l是整数数组;
我得到像
这样的输出3.0
0.0
1.0
0.0
我希望将精度提高至至少4。
答案 0 :(得分:6)
使用
x = ((double) w[i]) / l[i];
实际上,您使用整数除法划分两个整数,并将结果int赋值为double。将其中一个操作数转换为double会使其执行双重除法。
答案 1 :(得分:2)
如果您将int
除以另一个int
,则会得到int
而不是双倍。尝试
x = (double) w[i] / l[i];
答案 2 :(得分:-1)
System.out.printf("%10.4f", x);
介意,只有BigDecimal具有精确的精确度。双打是近似值。