Position actuelle: Accueil> Derniers articles> Comment utiliser hexdec avec str_pad pour convertir l'hexadécimal avec des chiffres insuffisants en décimaux de longueur fixe?

Comment utiliser hexdec avec str_pad pour convertir l'hexadécimal avec des chiffres insuffisants en décimaux de longueur fixe?

gitbox 2025-09-02

Pendant le processus de programmation, vous rencontrez souvent des scénarios où les nombres hexadécimaux doivent être convertis en nombres décimaux. Parfois, la longueur du nombre hexadécimal ne répond pas aux attentes et peut devoir être complétée en zéros pour s'assurer que la longueur de sortie est fixe. PHP fournit des fonctions intégrées puissantes HexDec et STR_PAD , ce qui peut nous aider à accomplir cette tâche facilement. Cet article introduira en détail comment terminer la conversion du nombre hexadécimal et l'opération de remplissage de bit à travers la combinaison de ces deux fonctions.

1. Introduction à la fonction hexdec

HexDec est une fonction de PHP qui convertit les cordes hexagonales en entiers décimaux. Il accepte une chaîne hexadécimale en entrée et renvoie la valeur décimale correspondante.

 <span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hexdec</span></span><span>(</span><span><span class="hljs-string">'1A'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decimal</span></span><span>;  </span><span><span class="hljs-comment">// Sortir 26</span></span><span>
</span></span>

Comme indiqué ci-dessus, Hexdec ('1A') convertit hexadécimal «1a» en décimal 26 .

2. Introduction à la fonction str_pad

La fonction STR_PAD est utilisée pour remplir une chaîne sur une longueur spécifiée. Si la chaîne est inférieure à la longueur cible, elle la complétera en fonction du caractère de rembourrage spécifié, en utilisant les espaces par défaut. Nous pouvons l'utiliser pour assurer une longueur fixe de la sortie numérique.

 <span><span><span class="hljs-variable">$padded</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_pad</span></span><span>(</span><span><span class="hljs-string">'123'</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>, STR_PAD_LEFT);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$padded</span></span><span>;  </span><span><span class="hljs-comment">// Sortir 00123</span></span><span>
</span></span>

Dans cet exemple, STR_PAD remplit la chaîne «123» à une chaîne de longueur 5, la remplace de zéros et ajoute des zéros à gauche de la chaîne.

3. Combiner HexDec et Str_Pad pour atteindre les exigences

Nous devons maintenant convertir la valeur hexadécimale en décimal et nous assurer que le nombre décimal de sortie est une longueur fixe. Par exemple, nous voulons convertir le numéro hexadécimal «1A» en décimal et le sortir en numéro à 5 chiffres, avec le rembourrage de pièce insuffisant avec des zéros.

Nous pouvons y parvenir en combinant les fonctions hexdec et str_pad :

 <span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-string">'1A'</span></span><span>;  </span><span><span class="hljs-comment">// Ceci est un numéro hexadécimal</span></span><span>
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hexdec</span></span><span>(</span><span><span class="hljs-variable">$hex</span></span><span>);  </span><span><span class="hljs-comment">// Convertir en décimal</span></span><span>
</span><span><span class="hljs-variable">$fixedLengthDecimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_pad</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>, STR_PAD_LEFT);  </span><span><span class="hljs-comment">// Remplissage pour la longueur fixe</span></span><span>

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fixedLengthDecimal</span></span><span>;  </span><span><span class="hljs-comment">// Sortir 00026</span></span><span>
</span></span>

4. Analyse de code

  1. Hexdec ($ hex) convertit «1A» en décimal numéro 26 .

  2. str_pad ($ en décimal, 5, '0', str_pad_left) remplit 26 dans une chaîne de longueur 5, le caractère de remplissage est '0' et se remplit à gauche de la chaîne. Par conséquent, la sortie est «00026» .

5. Flexibilité et optimisation

De cette façon, nous pouvons ajuster de manière flexible la longueur de la sortie. Par exemple, nous pouvons modifier la longueur de la sortie en 8 bits, ou tout ce dont vous avez besoin, ajustez simplement le paramètre de longueur dans str_pad :

 <span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-string">'1A'</span></span><span>;  </span><span><span class="hljs-comment">// Numéro hexadécimal</span></span><span>
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">hexdec</span></span><span>(</span><span><span class="hljs-variable">$hex</span></span><span>);  </span><span><span class="hljs-comment">// Convertir en décimal</span></span><span>
</span><span><span class="hljs-variable">$fixedLengthDecimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_pad</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>, STR_PAD_LEFT);  </span><span><span class="hljs-comment">// Remplir comme8Peu</span></span><span>

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fixedLengthDecimal</span></span><span>;  </span><span><span class="hljs-comment">// Sortir 00000026</span></span><span>
</span></span>

De cette façon, différentes exigences peuvent être satisfaites avec des ajustements de paramètres simples.

6. Résumé

En combinant HexDec et STR_PAD , nous pouvons facilement convertir les nombres hexadécimaux en nombres décimaux de longueur fixe. HexDec est utilisé pour traiter la conversion HEX HEX, tandis que STR_PAD est responsable de s'assurer que le nombre de chiffres numériques Sortie répond aux exigences. De cette façon, qu'il s'agisse de décimales ou de grands nombres, nous pouvons facilement obtenir une supplémentation en chiffres pour assurer la normalisation de la sortie.