如何将BigInteger转换为BigDecimal?

时间:2010-06-25 03:45:14

标签: java biginteger bigdecimal

有没有办法将BigInteger转换为BigDecimal

我知道你可以从BigDecimal转到BigInteger,但是我找不到一种方法可以用Java来反过来。

5 个答案:

答案 0 :(得分:44)

你有parameterized constructor

BigDecimal(BigInteger val)

答案 1 :(得分:19)

有一个constructor

BigDecimal bigdec = new BigDecimal(bigint);

答案 2 :(得分:6)

public BigDecimal(BigInteger unscaledVal, int scale)BigInteger未缩放值和int比例转换为BigDecimalBigDecimal的值为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值。