IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Format en hexa décimal


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut Format en hexa décimal
    Bonjour,
    Lorsque j'ai une valeur en hexa (0x100), je souhaite qu'elle soit affichée avec les 0 non significatifs (0x00000100).
    sprintf permet d'afficher les résultats en hexa pour un nombre décimal.

    Exemple :
    my $data_hex=sprintf("%x",$data2);
    Dans mon print, je n'aurais qu'à faire print "0x$data_hex";

    Comment puis-je mettre les '0' non significatifs lors de l'affichage d'un hexa et lors de l'utilisation de sprintf?

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut
    Le problème est résolu partiellement.
    Pour la conversion d'un nombre décimal en hexa avec les 0 non significatifs, il suffit de :
    my $data_hex=sprintf("%08x",$data2);
    Il suffit de mettre le '0'.

    Par contre, je ne sais pas comment ajouter les 0 pour un nombre déjà en hexa.
    Exemple : 0x100 => 0x00000100

    Si quelqu'un a une idée?

  3. #3
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Utilise hex() pour convertir ta chaîne hexa en nombre, puis sprintf pour afficher en hexa avec les 0 en plus.

    --
    Jedaï

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $val = '0x100'; 
    print sprintf("%08x", hex($val));

Discussions similaires

  1. Conversion hexa / décimal
    Par supcomingenieur dans le forum Shell et commandes GNU
    Réponses: 40
    Dernier message: 01/05/2013, 12h27
  2. format conversion hexa-->dec negative
    Par sone47 dans le forum Langage
    Réponses: 1
    Dernier message: 14/01/2008, 22h12
  3. Conversion Hexa -> décimal
    Par Nemesis007 dans le forum C
    Réponses: 3
    Dernier message: 30/04/2007, 15h51
  4. formater un nombre décimal
    Par sebhm dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/11/2006, 10h54
  5. Formater un hexa
    Par lamoufle dans le forum C
    Réponses: 10
    Dernier message: 16/10/2006, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo