-1
class Test {
    public static void main(String[] args) {
        int big = 1234567890;
        float approx = big;
        System.out.println(big - (int)approx);
    }
}

我从 Java 语言规范中得到了上面的代码。我怀疑是否有任何可能的方法来获得正确的答案。我使用了 strictfp,但得到了相同的结果(参见下面的代码):

strictfp class Test6 {
    public static void main(String[] args) {
        int big = 1234567890;
        float approx = big;
        System.out.println(big - (int)approx);
    }
}

这输出-46.

4

1 回答 1

3

您可以使用BigIntegerBigDecimal

此外,根据您的需要,您可以将其分配给 adouble而不是float,它具有更高的精度

于 2013-09-11T02:10:27.323 回答