0

在我的代码中,我对数字执行除法并将其存储在双变量中。但是该变量仅以一种精度返回。我想提高精度我怎么能做到这一点。

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。

4

3 回答 3

6

利用

x = ((double) w[i]) / l[i];

实际上,您正在使用整数除法来划分两个整数,并将结果 int 分配给一个双精度数。将其中一个操作数转换为双精度数使其改为进行双除法。

于 2012-12-16T17:04:35.290 回答
2

如果你将一个int除以另一个int,你会得到一个int不是双倍的。尝试

x = (double) w[i] / l[i];
于 2012-12-16T17:04:30.063 回答
-1
System.out.printf("%10.4f", x);

请注意,只有 BigDecimal 具有精确的精度。双打是近似值。

于 2012-12-16T17:05:11.857 回答