java - 将一些十六进制字符串转换为十进制整数

标签 java hex type-conversion

我写了一些代码来将我的十六进制显示字符串转换为十进制整数。但是,当输入类似于 100a625b(带有字母的东西)时,我收到如下错误:

java.lang.NumberFormatException: For input string: " 100a" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source)

如何将带有字母的字符串转换为十进制整数?

if(display.getText() != null)
{
    if(display.getText().contains("a") || display.getText().contains("b") ||
       display.getText().contains("c") || display.getText().contains("d") ||
       display.getText().contains("e") || display.getText().contains("f"))
    {
        temp1 = Integer.parseInt(display.getText(), 16);
        temp1 = (double) temp1;
    }
    else
    {
        temp1 = Double.parseDouble(String.valueOf(display.getText()));
    }
}

最佳答案

您的字符串中似乎有一个额外的(前导)空格字符(“100a”)。您可以使用 trim() 删除前导和尾随空格:

temp1 = Integer.parseInt(display.getText().trim(), 16);

或者,如果您认为空格的存在意味着还有其他问题,您必须自己查看,因为我们没有您的其余代码。

关于java - 将一些十六进制字符串转换为十进制整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20110533/

相关文章:

java - 从 16 位创建 4 个字节

java - 在不在接口(interface)中公开 HttpServletResponse 的情况下在实现中设置 JAX-RS 响应 header

java - C#:通过 SortedSet 中的多个属性比较两个对象

java - 带有继承的双向一对多不起作用(jpa 与 hibernate 3.5.4)

opencv - 在png文件中找到汇编代码是否正常?

c++ - 如何将 CString 传递给格式字符串 %s?

java - 在 Java 中打开/关闭单个像素或更改颜色

java - 将十六进制字符串转换为二进制字符串 - Java

python - 在 Python 中将 float 转换为两位数的十六进制数

vbscript:将 unicode 字符串转换为字节数组