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
Version imprimable
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:
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:
1
2 Integer.parseInt("0x"+num);
edit: http://java.developpez.com/faq/java/...aine_en_nombre
Citation:
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:
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:
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 !? 8O
Du coup il va falloir se taper des conversion int <-> String...
:arrow: 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:
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 5 :?Citation:
A 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 :mouarf:
et avant ou en parallèle avec C ... Pascal, LTR3 et Ada :roll:
8O
dans la base de données déclare le comme un int, float, ou double... et la vie sera plus :yaisse2:Citation:
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é.
Voir proposition d'adiGuba :yaisse2:Citation:
donc au lieu d'avoir F22 IL faut avoir 0f22
ça marche
merci