Convertion chaine en valeur dec

Résolu
osegouin Messages postés 13 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 30 janvier 2010 - 9 janv. 2010 à 13:16
osegouin Messages postés 13 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 30 janvier 2010 - 9 janv. 2010 à 18:47
Bonjour,
Je n'arrive pas a convertir une chaine '3583' en un integer en sachant que 3583 est la valeur Hexa de 13699 qui est la valeur que je recherche a afficher en Integer ?
merci d'avance
a+
Olivier

8 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
9 janv. 2010 à 16:43
Mais pourquoi tu voudrais la convertir en integer puis en hexadécimal, cette chaîne, puisque '3538' est déjà une représentation hexadécimale ? Je ne vois vraiment pas où est ton problème, applique la fonction et tu verras que :
StrToInt(Format('$%s', ['3538'])) = 13699

Ce que tu voulais, si je ne m'abuses ??
Et si la valeur '3538' n'est pas une représentation hexadécimale du nombre, alors il n'y a aucun lien entre cette valeur et 13699, et donc ta question perd tout sens.

Cordialement, Bacterius !
3
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
9 janv. 2010 à 14:36
Bonjour,
- IntToHex convertit un entier en hexadécimal.
- StrToInt(Format('$%s', [Hexa])) convertit un héxadécimal en entier (astuce de Delphi).



Cordialement, Bacterius !
0
osegouin Messages postés 13 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 30 janvier 2010
9 janv. 2010 à 15:01
Merci de tes infos Bacterius,
mais moi j'ai une chaine au depart qui vaut '3583'
que je dois convertir en hexa chaine'13699'
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
9 janv. 2010 à 15:22
Moi ce que j'ai compris c'est que tu veux convertir la chaîne hexadécimale 3538 en son équivalent en base dix qui est 13699. C'est bien cela, ou je me trompe ?

Cordialement, Bacterius !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
osegouin Messages postés 13 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 30 janvier 2010
9 janv. 2010 à 16:08
Ben c'est au départ, j'ai une chaine qui vaut '3538' : a='3538' a est de type String et je veux en sortir un integer qui vaut b:=13699
mais 3538 n'est pas une valeur hexa
je doit donc convertir ma chaine a :='3538' en integer c := 3538
puis apres la convertir en hexa d := valeur hexa de c
puis après la récupérer en Integer d: = integer de d
bon pas facile d'expliqué
a+
Olivier
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
9 janv. 2010 à 16:18
Et à ton avis ça se représente comment une valeur hexa ? Avec une chaîne tiens donc. Donc si ta chaîne "a" contient bien des données hexadécimales, tu peux appliquer la fonction que je t'ai donnée plus haut pour directement convertir ta chaîne hexadécimale en entier.

Cordialement, Bacterius !
0
osegouin Messages postés 13 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 30 janvier 2010
9 janv. 2010 à 16:32
Bacterius,
je suis d'accord avec toi mais au départ je n'ai pas un hexa
la valeur '3538' n'est pas en hexa et c'est la mon problème car des que je converti cette chaine en integer puis la passe dans la fonction InttoHex, il me dit que mon integer n'est pas un integer ?
0
osegouin Messages postés 13 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 30 janvier 2010
9 janv. 2010 à 18:47
Merci Bacterius, je viens de trouver mon erreur
comme quoi c'est pas simple d'écrire et de décrire son problème
encore merci, tu m'as débloqué
a+
Olivier
0
Rejoignez-nous