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
。
答案 0 :(得分:3)
您可以使用BigInteger
和BigDecimal
此外,根据您的需要,您可以将其分配到double
而不是float
,它具有更高的精确度