Comment convertir une chaîne hexadécimale de long en java?

Je veux convertir une chaîne hexadécimale de long en java.

J'ai essayé avec la conversion en général.

String s = "4d0d08ada45f9dde1e99cad9";
long l = Long.valueOf(s).longValue();
System.out.println(l);
String ls = Long.toString(l);

Mais j'obtiens ce message d'erreur:

java.lang.NumberFormatException: For input string: "4d0d08ada45f9dde1e99cad9"

Est-il un moyen de convertir la Chaîne de caractères de long en java? Ou suis-je en train d'essayer ce qui n'est pas vraiment possible!!

Merci!

  • Essayez d'ajouter un préfixe "0x" à la chaîne avant d'appeler valueOf
  • Euh ... avez-vous regarder dans la documentation javadoc? Économisez du temps et de toujours regarder dans la javadoc de la première.
  • Aussi, valueOf doit accepter un deuxième paramètre qui spécifie la base. Essayer de passer à 16 (et la corde sans le préfixe)
  • Je pense que vous confondez Long.valueOf(String) avec Long.decode(String). La Javadoc de valueOf(String) dit "Analyse la chaîne de caractères en argument un décimal signé longtemps."
  • Stephen, à droite, c'est le décoder accepte le préfixe. Mais valueOf accepte la base de paramètres (voir le lien ci-dessus)
InformationsquelleAutor | 2011-03-01