9

Possible Duplicate:
How to convert a hexadecimal string to long in java?

I know that Java can't handle this:

Integer.parseInt("0x64")

Instead you have to do this:

Integer.parseInt("64", 16)

Is there something built into Java that can automatically parse integer strings for me using the standard prefixes for hex, octal, and lack of prefix for decimal (so that I don't have to strip off the prefix and explicitly set the base)?

Community
  • 1
  • 1
Paul Reiners
  • 8,576
  • 33
  • 117
  • 202

2 Answers2

27

You can use Integer.decode:

Integer.decode("0x64");

The decoding rules are as follows:

Prefix  Type
        DecimalNumeral
0x      HexDigits
0X      HexDigits
#       HexDigits
0       OctalDigits

Note: decode is available in Short, Integer, and Long.

3

There's Long.decode().

Isaac Truett
  • 8,734
  • 1
  • 29
  • 48