无论如何要将double
值转换为BigInteger
吗?
double doubleValue = 64654679846513164.2;
BigInteger bigInteger = (BigInteger) doubleValue;
我尝试施放它但它不起作用。
答案 0 :(得分:36)
您可以将双重转换为BigDecimal
和然后转换为BigInteger
:
BigInteger k = BigDecimal.valueOf(doublevalue).toBigInteger();
答案 1 :(得分:16)
BigInteger用于保存任意精度整数,而不是小数。您可以使用BigDecimal
类来保持双倍。
BigDecimal k = BigDecimal.valueOf(doublevalue);
通常,您不能将Java基元类型转换为另一个类。我所知道的例外是扩展Number
的类,例如Long
和Integer
包装类,它们允许您将int值转换为Integer,依此类推。< / p>