Steve TENZA
Web développeur
Facebook Me contacter Cookie
Télécharger
Noter:
5/5 (1)
Ajouté/Modifié le 2023-11-02
Visionné 5230 fois

Éliminer les Zéros Inutiles en PHP

Description

Lorsque vous travaillez avec des nombres décimaux en PHP, il peut arriver que vous souhaitiez supprimer les zéros de fin des valeurs, surtout s'ils n'ont aucune signification particulière.

Une astuce simple pour accomplir cela consiste à ajouter 0 à votre nombre (Nombre + 0) ou à le multiplier par 1 (Nombre x 1). Voici comment cela fonctionne en pratique :


$nombre = 48.0000;
echo $nombre + 0; //48

//ou ceci fonctionne aussi
echo $nombre * 1; //48
// Fonction simple et efficace permettant d'enlever les derniers zéros d'un nombre décimal
function enleverZero($nombre){

//stringify $nombre pour pouvoir effectuer correctement des opérations sur la chaine renvoyée
$nombre = (string) $nombre;

//si un "." (point) est trouvé (Exemple : 48.25)
//ou une "," (virgule) est trouvée (Exemple : 48,25)
if(strpos($nombre, '.') OR strpos($nombre, ',') ){

//strlen nous permet de compter combien il y a de chiffre
//on fait une boucle sur chaque chiffre de la chaine
for($i = 1; $i <= strlen($nombre); $i ++){

//"substr-1" nous permet de prendre le dernier chiffre
if(substr($nombre, -1) == '0'){

//si c'est un 0, on l'enlève
$nombre = substr($nombre,0,-1);
}
}

//tous les chiffres sont passés, les zéros ont été enlevés, on vérifie qu'il reste pas de point ou de virgule à la fin
$dernier_caractere = substr($nombre, -1);
if($dernier_caractere == '.' OR $dernier_caractere == ','){

//si c'est une virgule ou un point, on l'enlève
$nombre = substr($nombre,0, -1);
}
//en fin, on retourne le résultat
return $nombre;
}

//si aucun point est trouvé, on le renvoi tel quel pour ne pas fausser le résultat
return $nombre;
}

echo enleverZero(48.946800000010000000000); // 48.94680000001
echo enleverZero(48.00); // 48
echo enleverZero('48,00'); // 48
echo enleverZero(480000.000); // 480000

Résultats de la base de données : Conversion des chaînes en nombres

Votre base de données retournent les valeurs numériques sous forme de chaînes de caractères (strings), ce qui en résulte que valeurs sont affichées sans modification. Prenons le nombre 48.0000, il sera représenté comme une chaîne de caractères et préservé, soit 48.0000.

Une approche pour résoudre ce problème consiste à effectuer une conversion explicite du type de données avant son affichage.
echo $infos_depuis_bdd['nombre']; // 48.0000

// cast 'nombre' de string à float
echo (float) $infos_depuis_bdd['nombre']; // 48


J'espère que ce script gratuit vous sera utile dans vos projets.
Si vous souhaitez soutenir mon travail, un simple clic sur le bouton "Donner remercier" ci-dessous ou une note serait grandement apprécié. Merci pour votre générosité !
Votre réussite en ligne commence ici

Vous cherchez à pousser encore plus loin vos idées ou à les concrétiser avec un site internet sur mesure ? Je suis là pour vous aider ! Mon expérience en développement web est à votre disposition.

Que ce soit la création de votre site web pro ou l'apport de fonctionnalités avancées à votre projet, contactez-moi pour en discuter et avoir un devis gratuit personnalisé.

Mon objectif est de vous offrir des solutions sur mesure qui répondent à vos besoins, et votre vision associée à mon expertise donnera vie à votre projet web parfait. Contactez-moi aujourd'hui, je réponds en général en moins d'une heure :

Demander un devis
Réponse rapide !

Vous recherchez un script précis ?

Dites-moi ce dont vous avez besoin, je peux développer le script demandé et vous envoyer un mail dès qu'il est dispo !

🔔 Vous pouvez laisser votre mail pour recevoir les nouveaux scripts. Pas de pub, pas de tracas. Vous êtes libre de le supprimer à tout moment.

Je prends en compte toutes les demandes. Les idées les plus populaires passent en priorité et seront publiées dès qu'elles seront prêtes. 2842 demandes reçues.

Commentaires

Ajouter un commentaire

Commenter
Pseudo/Nom
Email
Message
Captcha
memo1memo2
Commenter
Ajoutez un commentaire, soyez le premier !

Retour à la liste des scripts

Un site à créer ?
Contactez-moi