【问题标题】:Hexa String to Int java十六进制字符串到 Int java
【发布时间】:2012-04-27 21:46:21
【问题描述】:

我有:

int number = 0x00000024;

而且没有问题, 但现在我用 de 格式得到它:

<MAN>
      <NAME hexa="0x00000001"/>
</MAN>

我尝试使用以下方法解析六进制:

Integer.parseInt(parser.getAttributeValue(0), 16)

但它说:

Unable to parse '0x00000001' as integer

有人知道发生了什么吗?

【问题讨论】:

标签: java hex


【解决方案1】:

删除0x:

Integer.parseInt(parser.getAttributeValue(0).substring(2), 16)

【讨论】:

【解决方案2】:

基于How to convert a hexadecimal string to long in java? 中的答案,您想要:

int num = Long.decode(parser.getAttributeValue(0)).intValue();

【讨论】:

  • 检查第一个答案,我更喜欢那个
  • @Daniel 我更喜欢这种方法主要是因为它可以正确解码其他格式。它也不会创建额外的中间字符串对象。
猜你喜欢
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-04
  • 1970-01-01
  • 2010-10-04
  • 2011-08-19
  • 1970-01-01
相关资源
最近更新 更多