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

新手上路,请多包涵

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

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

我尝试投射它,但没有用。

原文由 Krack 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

如果要将 double 的整数部分存储到 BigInteger ,则可以将其转换为 BigDecimal 然后 转换为 BigInteger

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

原文由 bb94 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

 BigDecimal k = BigDecimal.valueOf(doublevalue);

通常,您不能将 Java 原语类型转换为另一个类。我知道的例外是扩展类 Number ,例如 LongInteger 允许你将值转换为包装类, 等等。

原文由 Kon 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题