40

我怎样才能Long投到BigDecimal

4

6 回答 6

61

您必须创建一个新的BigDecimal.

BigDecimal d = new BigDecimal(long);
于 2009-05-28T15:51:21.397 回答
23

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

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

0 - 10 是 java 6 的实现,不确定以前的 JDK

于 2009-05-28T16:07:06.170 回答
17

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

BigDecimal 中 long 的实现并不精确。对于金融应用来说,这是至关重要的!

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

new BigDecimal(yourLong.toString());

在http://www.parleys.com/上有一个关于这个的讨论。

于 2011-08-16T09:02:20.207 回答
4

你不能投。你可以创建一个新的BigDecimal。如果你有非原始的 Long,你可以longLongusing中得到 a 。Long.getLongValue()

BigDecimal bigD = new BigDecimal(longVal);
于 2009-05-28T15:50:44.910 回答
2

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

  Long test = new Long (10);
  BigDecimal bigD = new BigDecimal(test.longValue());
于 2009-05-28T15:52:43.140 回答
0

你必须创建一个新的 bigDecimal

怎么做

于 2009-05-28T15:52:01.457 回答