2011-04-08 22 views
10

Olası Çoğalt:
How to convert a hexadecimal string to long in java?Ayrıştırma tamsayı dizeleri

Java bu işleyemez biliyoruz

:

Integer.parseInt("0x64") 

Bunun yerine bunu yapmak zorunda:

Integer.parseInt("64", 16) 
01 Ben öneki kapalı şerit zorunda ve açıkça tabanını ayarlamak yok (ki

ondalık için önekin otomatik onaltılık, sekizlik için standart önekler kullanarak benim için tamsayı dizeleri ayrıştırmak olabilir Java yerleşik bir şey ve eksikliği var mı)?

cevap

28

Sen Integer.decode kullanabilirsiniz: aşağıdaki gibi

Integer.decode("0x64"); 

çözme kuralları şunlardır:

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

Not: decode, Short içinde Integer ve Long mevcuttur.

+0

Bir şeylerin olduğunu biliyordum. :) – biziclop

4
+0

Ayrıntıları okudunuz mu ?: _is burada otomatik olarak integer dizeleri ayrıştırabilecek bir şeyler var. _ – mre

+8

@noob Nitelikleri seçmek ister misin? Tamam. Soru "tamsayı" değil "Tamsayı" ve Java Longs tamsayılardır. –

+0

Bir kez daha, ayrıntıları açtın mı? Tüm pissy almak için bir sebep yok. – mre