Java/scala BigDecimal 解析 128 位十六进制值
Posted
技术标签:
【中文标题】Java/scala BigDecimal 解析 128 位十六进制值【英文标题】:Java/scala BigDecimal parsing 128 bit hex value 【发布时间】:2013-05-07 15:07:08 【问题描述】:我有一个号码,在本例中是 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】:scala> BigInt("61d54e71b6c8409f9586ffd4cf9ffada",16)
res0: scala.math.BigInt = 130042665859304569025379016689359780570
【讨论】:
或者:scala> new java.math.BigInteger("61d54e71b6c8409f9586ffd4cf9ffada", 16) res16: java.math.BigInteger = 130042665859304569025379016689359780570以上是关于Java/scala BigDecimal 解析 128 位十六进制值的主要内容,如果未能解决你的问题,请参考以下文章
java - 如何将浮点数转换为 BigDecimal? [复制]