强制转换为BigDecimal

时间:2009-05-28 15:49:29

标签: java

如何将Long投射到BigDecimal

6 个答案:

答案 0 :(得分:48)

您必须创建新的BigDecimal

BigDecimal d = new BigDecimal(long);

答案 1 :(得分:20)

为完整起见,您可以使用:

// valueOf will return cached instances for values zero through to ten
BigDecimal d = BigDecimal.valueOf(yourLong);

0 - 10与java 6实现一样,不确定以前的JDK

答案 2 :(得分:14)

你不应该使用BigDecimal d = new BigDecimal(long); !!

BigDecimal中longs的实现并不精确。 对于财务应用来说,这很关键!

但String参数的实现更好! 所以使用类似的东西:

new BigDecimal(yourLong.toString());

http://www.parleys.com/就此发表了一次谈话。

答案 3 :(得分:4)

你不能施展它。您可以创建一个新的BigDecimal。如果您使用非原始字母Long,则可以使用longLong获得Long.getLongValue()

BigDecimal bigD = new BigDecimal(longVal);

答案 4 :(得分:2)

您需要创建一个新的BigDecimal对象

  Long test = new Long (10);
  BigDecimal bigD = new BigDecimal(test.longValue());

答案 5 :(得分:0)

你必须创建一个新的bigDecimal

how to do it