【问题标题】:Java/scala BigDecimal parsing 128 bit hex valueJava/scala BigDecimal 解析 128 位十六进制值
【发布时间】: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

有人有什么建议吗?

【问题讨论】:

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


    【解决方案1】:
    scala> BigInt("61d54e71b6c8409f9586ffd4cf9ffada",16)
    res0: scala.math.BigInt = 130042665859304569025379016689359780570
    

    【讨论】:

    • 或者:scala> new java.math.BigInteger("61d54e71b6c8409f9586ffd4cf9ffada", 16) res16: java.math.BigInteger = 130042665859304569025379016689359780570
    猜你喜欢
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2010-12-30
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多