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

时间:2013-07-31 01:34:13

标签: java double biginteger

无论如何要将double值转换为BigInteger吗?

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

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

2 个答案:

答案 0 :(得分:36)

您可以将双重转换为BigDecimal然后转换为BigInteger

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

答案 1 :(得分:16)

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

BigDecimal k = BigDecimal.valueOf(doublevalue);

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