无论如何,有什么可以将double
价值转换为价值BigInteger
?
double doubleValue = 64654679846513164.2;
BigInteger bigInteger = (BigInteger) doubleValue;
我尝试投射它,但是没有用。
BigInteger用于保存任意精度的整数,而不是小数。您可以使用BigDecimal
该类来容纳双人间。
BigDecimal k = BigDecimal.valueOf(doublevalue);
通常,您不能将Java原语类型转换为另一个类。我知道的例外是扩展类Number
,例如Long
和Integer
包装器类,它们允许您将int值转换为Integer,依此类推。
问题内容: 我想知道是否有任何方法可以将Integer类型的变量转换为BigInteger。我尝试类型转换Integer变量,但出现一个错误消息,指出不可转换的类型。 问题答案: 您想要的方法是BigInteger#valueOf(long val) 。 例如, 首先创建String是不必要的,也是不希望的。
问题内容: 我编写的这段代码将转换为获取异常。 这是我的代码 问题答案: 是基元之上的 包装 类。可以将其强制转换为,但不能直接强制转换为。 如果使用代替,它将编译: 您也可以在中间添加演员表,如下所示:
问题内容: 我正在实现一个接口,该接口的功能类似于可以包含某种对象的表的功能。该接口指定以下功能: 在我的实现中,我感到很困惑的是,我将表数据存储在2D 数组()中。当我需要返回值时,我想执行以下操作(假定只在包含double的列上调用,因此将没有): 但是- Java不允许强制转换为。将其强制转换为可以,因为它是一个对象,而不是基元,但是我的接口指定数据将以形式返回。 所以我有两个问题: 有什么
问题内容: 如果我正在使用,并将其转换为,则该如何正确工作?值会被截断以适合浮点数吗?还是舍入值不同?抱歉,这听起来有点补救,但是我正在尝试掌握和转换的概念。 问题答案: 根据 Java语言规范的 第5.1.3节 : 从double到float的原始转换变窄由IEEE 754舍入规则(第4.2.4节)控制。这种转换可能会失去精度,但也会失去范围,导致非零双精度浮点为零,而有限双精度浮点为无穷大。双
问题内容: 当我尝试将double数组转换为Double arrayList时,出现以下错误: 线程“主”中的异常java.lang.ClassCastException:[无法将D强制转换为java.lang.Double 下面是我的代码。 我正在将此列表与另一个列表进行比较,并将结果分配给另一个double变量。 请让我知道此错误的原因。 问题答案: las,不适用于原语。Apache com
问题内容: 我注意到这个构造函数非常痛苦(即使在Stack Overflow上也是如此)。即使文档明确指出,人们仍会使用它: 此构造函数的结果可能无法预测 http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#BigDecimal(double) 我什至看到JSR-13得到批准,并提出了以下建议: 可能不推荐使用的现有规范: