Bonjour,
je veux convertir un nombre décimal en exadécimal en java et vis vers ça
est ce que quelqu'a a une idée ?
merci
Bonjour,
je veux convertir un nombre décimal en exadécimal en java et vis vers ça
est ce que quelqu'a a une idée ?
merci
Salut,
Il faut bien distinguer le nombre et sa représentation.
En mémoire tu n'a aucune conversion à faire car de toutes manières les nombres sont stocké en base 2...
Ensuite ce n'est qu'une question de format d'affichage, et pour cela voir DecimalFormat, Format, ou les méthodes static des wrapper (Integer, Long, etc...)
a++
salut,
j'ai un nombre en exadecimal de type string (exemple 0F20) et je compte l'incrémenté pour avoir le nombre suivant.
est ce que tu as une idée faire ?
merci
pourquoi de type string ?
c'est bien ça que tu veux non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int n = 0x0F20; System.out.println(n); n++; System.out.println(n);
non
dans la base de données il est declaré comme un string. donc je recupere un string puis aprés il faut l'incrémenté.
exemple String num = "0F21"
si j'utilise Integer.parsInt(num) pour le convertir en un int . ça ne marche pas..
tu as compris mon pb ?
et ceci ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Integer.parseInt("0x"+num);
edit: http://java.developpez.com/faq/java/...aine_en_nombre
Pour convertir une chaîne hexadécimale en entier il faut utiliser la méthode suivante:
Le 16 spécifie la base à utiliser pour parser l'entier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Integer.parseInt(hexa, 16);
oui:
Si tu veux un 0 en tête, il faudrait connaître le nombre de digits max de la représentation hexa utilisée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 String hexa = "0F20"; int n = Integer.parseInt(hexa, 16); n++; String newHexa = Integer.toHexString(n).toUpperCase(); // donne F21
Pourquoi utiliser un String pour stocker un nombre !?
Du coup il va falloir se taper des conversion int <-> String...
La réponse est dans la doc : parseInt(String, int)
A partir de Java 5 je pense qu'il est plus simple d'utiliser le Formatter (style printf du C) :
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String newHexa = String.format("%04x", n); // donne 0f21 String newHexa = String.format("%04X", n); // donne 0F21
J'en conviens, je ne maitrise pas l'ensemble de l'API Java 5A partir de Java 5 je pense qu'il est plus simple d'utiliser le Formatter (style printf du C)![]()
salut
merci ça marche
par contre est ce que il y a une fonction qui permet de garder un certain format, car dans mon cas la longeur du num est tjs egal a 4.
donc au lieu d'avoir F22 IL faut avoir 0f22
merci
Je vois que nous avons des origines communes
et avant ou en parallèle avec C ... Pascal, LTR3 et Ada![]()
dans la base de données déclare le comme un int, float, ou double... et la vie sera plusdans la base de données il est declaré comme un string. donc je recupere un string puis aprés il faut l'incrémenté.![]()
Voir proposition d'adiGubadonc au lieu d'avoir F22 IL faut avoir 0f22![]()
ça marche
merci
Partager