Apprendre à programmer

Comment convertir une chaîne en nombre en PHP ?

Dans ce tutoriel, explorez la transformation chaîne en nombre ( d’une séquence de caractères en une valeur numérique ) en PHP avec notre guide complet.

Techniques de conversion de chaînes en nombres en PHP


Lors de la programmation en PHP, il est fréquent de devoir convertir des chaînes en nombres. Cela survient notamment lors du traitement de données utilisateur ou de l’interaction avec des bases de données et des API. Dans cet article, nous examinons différentes méthodes pour effectuer cette conversion, illustrées par des cas concrets.

Syntaxe générique pour convertir une chaîne en nombre en PHP :

$nombre = (type_de_conversion) $chaine;

Exemples d’utilisation :

  1. Conversion de chaîne en entier (integer) :
$chaine = "42";
$nombre = (int) $chaine; // $nombre sera de type entier (integer) avec la valeur 42

Conversion de chaîne en décimal (float) :

$chaine = "3.14";
$nombre = (float) $chaine; // $nombre sera de type décimal (float) avec la valeur 3.14

Convertir une chaîne en hexadécimal :

$chaine = "1A";
$nombre = hexdec($chaine); // $nombre sera de type entier (integer) avec la valeur 26

Conversion de chaîne en nombre binaire :

    $chaine = "1010";
    $nombre = bindec($chaine); // $nombre sera de type entier (integer) avec la valeur 10

    Ces exemples illustrent différentes méthodes de conversion de chaînes en nombres en utilisant des types de conversion appropriés.

    les fonctions intval et floatval

    En PHP, vous avez à votre disposition les fonctions intval et floatval pour convertir aisément des chaînes en nombres.

    Syntaxe :

    • intval : Conversion en nombre entier.
    $chaine = "42";
    $nombre = intval($chaine); // $nombre sera un entier avec la valeur 42
    • floatval : Conversion en nombre décimal.
    $chaine = "3.14";
    $nombre = floatval($chaine); // $nombre sera un nombre décimal avec la valeur 3.14

    Ces fonctions offrent une manière simple de réaliser la conversion en utilisant des types spécifiques pour vos besoins.

    L’opérateur addition (+)

    En PHP, vous pouvez convertir une chaîne en valeur numérique en utilisant l’opérateur d’addition (+). Cette méthode fonctionne correctement si la chaîne commence par un nombre.

    Exemples de code :

    $chaine = "42";
    $nombre = $chaine + 0; // $nombre sera un entier avec la valeur 42
    
    $chaine_decimale = "3.14";
    $nombre_decimale = $chaine_decimale + 0; // $nombre_decimale sera un nombre décimal avec la valeur 3.14

    Cependant, il est important de noter que cette méthode peut ne pas fonctionner correctement si la chaîne ne commence pas par un nombre, car PHP tentera de convertir le début de la chaîne en nombre.

    Conversion de chaîne en nombre et arrondi

    En PHP, lors de la conversion d’une chaîne en nombre, vous pouvez également choisir d’arrondir le nombre résultant. PHP offre plusieurs fonctions d’arrondi, telles que round, floor et ceil.

    Exemples de code :

    $chaine = "3.7";
    $nombre_arrondi = round(floatval($chaine)); // $nombre_arrondi sera 4
    
    $chaine_decimale = "9.1";
    $nombre_arrondi_inférieur = floor(floatval($chaine_decimale)); // $nombre_arrondi_inférieur sera 9
    
    $chaine_virgule = "5,8";
    $chaine_point = str_replace(',', '.', $chaine_virgule);
    $nombre_arrondi_supérieur = ceil(floatval($chaine_point)); // $nombre_arrondi_supérieur sera 6

    Ces fonctions d’arrondi vous permettent de manipuler et d’utiliser des nombres convertis à partir de chaînes de manière précise selon vos besoins.

    Au fond 🙂

    Lorsque vous travaillez avec PHP, vous rencontrerez fréquemment la nécessité de convertir des chaînes en nombres, que ce soit pour traiter des données fournies par des utilisateurs ou provenant de sources externes.

    Heureusement, PHP propose diverses méthodes pour accomplir cette opération, telles que le transtypage, l’utilisation de fonctions spécialisées telles que intval et floatval, ou encore l’opérateur +.

    Autres articles

    Guide : Liste de Tableaux C# vs...
    En C#, une liste de Tableaux C# et une liste...
    Read more
    Guide : Liste de Tableaux en C#
    En C#, une liste de tableaux est une structure où...
    Read more
    Guide : Python - Concatenation de chaînes...
    La concaténation de chaînes de caractères en Python consiste à...
    Read more
    Utilisation des Pointeurs en C dans des...
    Les pointeurs en C sont un outil puissant pour écrire...
    Read more
    Série d’Exercices Corrigés : Manipulation de Tableaux...
    Cette série d'exercices se concentre sur la manipulation de tableaux...
    Read more
    Exercices de Programmation Corrigés sur le Microprocesseur...
    Le microprocesseur Motorola 6809 est un processeur 8 bits très...
    Read more
    AZ

    Share
    Published by
    AZ

    Recent Posts

    La fiche de réception des travaux : un acte technique et juridique déterminant dans tout projet de construction

    Une étape charnière dans la vie d’un chantier La réception des travaux constitue l’un des…

    7 heures ago

    Calcul du Bilan Carbone : Définition, Contexte, Méthodes, Modèles et Outils

    Télécharger le Canevas de Stratégie de Réduction des Émissions Carbone ⬇️ 1. Définition du Bilan…

    11 heures ago

    Modèle de Fiche de Coordination SPS : Sécurité et de Performance dans les Chantiers du BTP

    Un document technique, une exigence réglementaire, un révélateur de maturité organisationnelle Le secteur du Bâtiment…

    12 heures ago

    Préparer un entretien professionnel avec un salarié : la checklist complète

    Dans cet article, nous vous proposons une checklist complète et pratique pour préparer un entretien…

    12 heures ago

    Fiche sécurité sur les chantiers BTP : Exemples dans Word

    C’est dans cette perspective qu’intervient la fiche d’évaluation sécurité pour chantier BTP, un outil structurant…

    14 heures ago

    Les Risques Professionnels : Un Enjeu Majeur pour les Entreprises

    Les risques professionnels désignent l’ensemble des menaces qui pèsent sur la santé physique ou mentale…

    14 heures ago