无论如何要从Double转换为BigInteger?

Kra*_*ack 13 java double biginteger

无论如何都要从double价值转换为BigInteger

double doubleValue = 64654679846513164.2;
BigInteger bigInteger = (BigInteger) doubleValue;
Run Code Online (Sandbox Code Playgroud)

我尝试施放它但它不起作用.

bb9*_*b94 38

您可以在双转换成BigDecimal,然后BigInteger:

BigInteger k = BigDecimal.valueOf(doublevalue).toBigInteger();
Run Code Online (Sandbox Code Playgroud)

  • 如果你真的只想把双精度的组成部分放在一个BigInteger中,那肯定是最好的答案吗? (2认同)

Kon*_*Kon 16

BigInteger用于保存任意精度整数,而不是小数.您可以使用BigDecimal该类来保持双精度.

BigDecimal k = BigDecimal.valueOf(doublevalue);
Run Code Online (Sandbox Code Playgroud)

通常,您不能将Java基元类型转换为另一个类.我所知道的异常是类扩展Number,例如LongInteger包装类,它们允许您将int值转换为Integer,依此类推.