2013-05-07 81 views
1

我有一个数字,在这种情况下它是61d54e71b6c8409f9586ffd4cf9ffada。Java/scala BigDecimal解析128位十六进制值

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

在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 

任何人有什么建议吗?

回答

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

或者: 阶>新java.math.BigInteger中( “61d54e71b6c8409f9586ffd4cf9ffada”,16) res16:java.math.BigInteger中= 130042665859304569025379016689359780570 – irishjava 2013-05-07 15:13:49