2013-05-07 80 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