приведение Лонг к BigDecimal - PullRequest
32 голосов
/ 28 мая 2009

Как я могу разыграть Long на BigDecimal?

Ответы [ 6 ]

48 голосов
/ 28 мая 2009

Вам нужно будет создать новый BigDecimal.

BigDecimal d = new BigDecimal(long);
20 голосов
/ 28 мая 2009

Для полноты вы можете использовать:

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

0 - 10 относится к реализации java 6, не уверен насчет предыдущих JDK

14 голосов
/ 16 августа 2011

Вы не должны использовать BigDecimal d = new BigDecimal (long); !!

Реализация в BigDecimal для длинных не является точной. Для финансовых приложений это важно!

Но реализация аргумента String лучше! Так что используйте что-то вроде:

new BigDecimal(yourLong.toString());

Об этом говорили http://www.parleys.com/.

4 голосов
/ 28 мая 2009

Вы не можете разыграть это. Вы можете создать новый BigDecimal. Вы можете получить long от Long, используя Long.getLongValue(), если у вас нет непримитивного лонга.

BigDecimal bigD = new BigDecimal(longVal);
2 голосов
/ 28 мая 2009

Вам необходимо создать новый объект BigDecimal

  Long test = new Long (10);
  BigDecimal bigD = new BigDecimal(test.longValue());
0 голосов
/ 28 мая 2009

вы должны создать новый bigDecimal

как это сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...