2011-04-08 13 views
10

Duplicar posibles:
How to convert a hexadecimal string to long in java?cadenas enteros al analizar en Java

Sé que Java no puede manejar esto:

Integer.parseInt("0x64") 

lugar que tiene que hacer esto:

Integer.parseInt("64", 16) 

¿Hay algo incorporado en Java que pueda automáticamente analizar cadenas de enteros utilizando los prefijos estándar para hexadecimal, octal y la falta de prefijo para decimal (para que no tenga que quitar el prefijo y establecer explícitamente la base))?

Respuesta

28

Puede utilizar Integer.decode:

Integer.decode("0x64"); 

reglas La decodificación son los siguientes:

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

Nota: decode está disponible en Short, Integer y Long.

+0

Sabía que había algo. :) – biziclop

4
+0

¿Has leído los detalles ?: _ hay algo incorporado en Java que puede analizar automáticamente las cadenas de enteros_ – mre

+8

@noob ¿Quieres elegir liendres, eh? Bueno. La pregunta decía "entero" no "entero" y los largos de Java son enteros. –

+0

Una vez más, ¿leyó los detalles? No hay razón para ponerse todo furioso. – mre

Cuestiones relacionadas