当前位置: 首页 > 面试题库 >

将十六进制字符串解析为整数会引发NumberFormatException吗?

秦联
2023-03-14
问题内容

因此,在Java中,您知道如何声明这样的整数:

int hex = 0x00ff00;

我认为您应该能够逆转这一过程。我有这个代码:

Integer.valueOf(primary.getFullHex());

其中primary是自定义Color类的对象。它的构造函数使用Integer表示不透明度(0-99)和十六进制String(例如00ff00)。

这是getFullHex方法:

public String getFullHex() {
    return ("0x" + hex);
}

当我调用此方法时,它给出了以下信息NumberFormatException

java.lang.NumberFormatException: For input string: "0xff0000"

我不明白发生了什么事。有人可以解释一下吗?


问题答案:

请问有帮助吗?

Integer.parseInt("00ff00", 16)

16表示您应该将字符串解释为基于16的(十六进制)。通过使用2您可以解析二进制数,8代表八进制。10是默认值,并解析十进制数字。

在您的情况下,Integer.parseInt(primary.getFullHex(), 16)由于0x前缀为前缀,将无法正常工作getFullHex()-摆脱掉,您会没事的。



 类似资料:
  • 问题内容: 我写了一些代码将十六进制显示字符串转换为十进制整数。但是,当输入类似100a或625b(带有字母的东西)时,我得到了这样的错误: java.lang.NumberFormatException:对于输入字符串:java.lang.Integer.parseInt(未知源)处的java.lang.NumberFormatException.forInputString(未知源)处为“ 1

  • 我正在写一个Rust程序,读取I2C总线并保存数据。当我读取I2C总线时,我会得到十六进制值,比如,,等等。 现在,我只能将其作为字符串处理并按原样保存。有没有办法把它解析成一个整数?它有内置的功能吗?

  • 我有十六进制字符串,例如“0x103E”,我想将其转换为整数。意思是to我尝试了但它给出了数字格式异常。我如何实现这一点?

  • 问题内容: 我需要从随机整数(0-255)列表中创建一个十六进制数字字符串。每个十六进制数字应由两个字符表示:5-“ 05”,16-“ 10”等。 例: 我设法提出了: 但是,这看起来有点尴尬。有没有更简单的方法? 问题答案:

  • 问题内容: 我在ex中有整数。16,我正在尝试将此数字转换为十六进制数字。我试图通过使用十六进制函数来实现此目的,但是每当您向十六进制函数提供整数时,它都会返回十六进制数字的字符串表示形式, 有人可以告诉我如何将字符串格式的十六进制数字转换为简单的十六进制数字。 谢谢!! 问题答案:

  • 问题内容: 我要提取长十六进制字符串形式的数据,我需要将其转换为十进制表示法,截断18个小数位,然后在JSON中使用。 例如,我可能具有十六进制字符串: 最初我尝试使用,但是由于它支持的最高级别,我的数量最终太大了。 转换和截断后的示例为10 ^ 6。但是,在某些情况下,此数字最多可以为10 ^ 12(意味着截断为10 ^ 30!)。 攻击此问题的最佳策略是什么? 问题答案: 使用math / b