如何在不丢失信息的情况下获得准确答案

时间:2013-09-11 02:09:54

标签: java

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

1 个答案:

答案 0 :(得分:3)

您可以使用BigIntegerBigDecimal

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