Java / scala BigDecimal解析128位十六进制值

时间:2013-05-07 15:07:08

标签: scala hex bigdecimal number-formatting 128-bit

我有一个号码,在这种情况下是61d54e71b6c8409f9586ffd4cf9ffada。

我想使用它的数字表示法。

在python中我会这样做:

 number = 61d54e71b6c8409f9586ffd4cf9ffada

但我使用的是Scala,而不是python。

我试过了:

scala> val bd = BigDecimal("61d54e71b6c8409f9586ffd4cf9ffada")
java.lang.NumberFormatException

scala> val bd = BigDecimal("0x61d54e71b6c8409f9586ffd4cf9ffada")
java.lang.NumberFormatException

如果数字较小,我可以这样做:

scala> val bd = 0x61d54e
bd: Int = 6411598

有人有任何建议吗?

1 个答案:

答案 0 :(得分:3)

scala> BigInt("61d54e71b6c8409f9586ffd4cf9ffada",16)
res0: scala.math.BigInt = 130042665859304569025379016689359780570