【问题标题】:Need an alternative for .parse function需要 .parse 函数的替代方案
【发布时间】:2012-07-27 11:14:36
【问题描述】:

我目前正在处理具有不同基数的数字。我正在使用函数 Long.parseLong 将数字从基本 int 转换为其十进制值:

Long.parseLong("A", 16) 将十六进制的 A 转换为其十进制值 10。然后我使用 Long.toString(10, 16) 将其转换回 A。

现在的问题是问题集中的条目之一是“AAAAAAAAAAAAAAAAAAA”,当我使用 Long.parseLong();函数,它返回一个错误,因为转换的大小不能适合 Long。我尝试使用 Float,但恐怕没有以 int 为基数的 Float.parseFloat(String, int)。

有没有我可以使用的替代方案? BigInteger 也没有任何带有基数的解析函数。

任何帮助将不胜感激。

【问题讨论】:

    标签: java parsing


    【解决方案1】:

    BigIntegera constructor,它会为您进行基数转换:

    BigInteger num = new BigInteger("AAAAAAAAAAAAAAAAAAA", 16);
    

    如果你想转换回十六进制,你可以使用toString:

    String hex = num.toString(16);
    

    【讨论】:

    • 非常感谢!这确实很有帮助!我以为我能够完全理解 BigIntegers。祝你有个美好的一天!
    • @JonaziAlmocera 因为这是一个非常好的答案,您应该考虑接受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    相关资源
    最近更新 更多