【问题标题】:How to convert string representing number i any format to integer如何将表示数字 i 任何格式的字符串转换为整数
【发布时间】:2015-01-01 13:16:48
【问题描述】:

我有一个要转换为整数的字符串,我知道这可以使用Integer.parseInt(number) 来实现 或者使用 Integer.parseInt(number, base) 表示特定的基础。
我可以使用带有 if else 条件的上述函数来检查字符串表示的数字的基数。
示例:

int intValue;
if(string.startsWith("0x"))
    intValue = Integer.parseInt(string.substring(2), 16)
//handle other cases
else
    intValue - Integer.parseInt(string)  //base 10

我想知道是否有任何内置函数可以将表示任何基数的字符串转换为相应的整数?

【问题讨论】:

    标签: java string integer


    【解决方案1】:

    Integer.decode(String nm) 专为满足您的需求而设计。来自文档:

    在可选符号和/或基数说明符(“0x”、“0X”、“#”或前导零)之后的字符序列被 Integer.parseInt 方法解析为具有指示的基数(10、16 , 或 8)。

    这里是负责基数区分的Integer源代码片段:

    if (nm.startsWith("0x", index) || nm.startsWith("0X", index)) {
        index += 2;
        radix = 16;
    } else if (nm.startsWith("#", index)) {
        index ++;
        radix = 16;
    } else if (nm.startsWith("0", index) && nm.length() > 1 + index) {
        index ++;
        radix = 8;
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-06
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2022-01-09
      • 2019-09-29
      相关资源
      最近更新 更多