有没有办法从Double转换为BigInteger?

2022-09-01 21:40:04

有没有办法从价值转换为?doubleBigInteger

double doubleValue = 64654679846513164.2;
BigInteger bigInteger = (BigInteger) doubleValue;

我试图铸造它,但它不起作用。


答案 1

如果要将双精度的整数部分存储为 a ,则可以将其转换为 a,然后转换为 :BigIntegerBigDecimalBigInteger

BigInteger k = BigDecimal.valueOf(doubleValue).toBigInteger();

答案 2

BigInteger用于保存任意精度的整数,而不是小数。您可以使用该类来举行双打。BigDecimal

BigDecimal k = BigDecimal.valueOf(doublevalue);

通常,不能将 Java 原语类型化为另一个类。我所知道的例外是扩展类,例如 和 包装类,它允许您将 int 值转换为整数,依此类推。NumberLongInteger


推荐