有没有办法将BigInteger
转换为BigDecimal
?
我知道你可以从BigDecimal
转到BigInteger
,但是我找不到一种方法可以用Java来反过来。
答案 0 :(得分:44)
BigDecimal(BigInteger val)
答案 1 :(得分:19)
有一个constructor。
BigDecimal bigdec = new BigDecimal(bigint);
答案 2 :(得分:6)
public BigDecimal(BigInteger unscaledVal, int scale)
将BigInteger
未缩放值和int
比例转换为BigDecimal
。 BigDecimal
的值为unscaledVal/10^scale
。
参数:
unscaledVal
- BigDecimal
的未缩放值。
scale
- BigDecimal
的比例。
抛出:
NumberFormatException
- 比例为负
答案 3 :(得分:0)
我知道这个回复晚了,但它会帮助新用户寻找这个解决方案,你可以先将 BigInteger 转换为字符串,然后将字符串放入 BigDecimal 的构造函数中,将 BigInteger 转换为 BigDecimal,例如:
public static BigDecimal Format(BigInteger value) {
String str = value.toString();
BigDecimal _value = new BigDecimal(str);
return _value;
}
答案 4 :(得分:-2)
BigInteger I = new BigInteger("123")
BigDecimal bd = BigDecimal.valueOf(I.intValue());
System.out.println("The Value of bd : "+ bd);
这会将I的BigInteger值转换为BigDecimal值。