10

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
  • 9,480
  • 31
  • 110
  • 189

2 Answers2

28

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.

Tim Cooper
  • 151,519
  • 37
  • 317
  • 271
4

There's Long.decode().

Isaac Truett
  • 8,608
  • 1
  • 27
  • 48