如何将Long
投射到BigDecimal
?
答案 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,则可以使用long
从Long
获得Long.getLongValue()
。
BigDecimal bigD = new BigDecimal(longVal);
答案 4 :(得分:2)
您需要创建一个新的BigDecimal对象
Long test = new Long (10);
BigDecimal bigD = new BigDecimal(test.longValue());
答案 5 :(得分:0)
你必须创建一个新的bigDecimal