[PHP] Affichage de nombre très petits
Résolu/Fermé
A voir également:
- [PHP] Affichage de nombre très petits
- Easy php - Télécharger - Divers Web & Internet
- Affichage double ecran - Guide
- Nombre facile - Télécharger - Outils professionnels
- Windows 11 affichage classique - Guide
- Ascii nombre de caractères - Guide
4 réponses
voivi la solution trouvé sur phpfrance et qui fonctionne :
echo number_format( $i, round( abs( log10( $i-floor( $i ) ) ) ) );
Utilisateur anonyme
5 juin 2009 à 13:50
5 juin 2009 à 13:50
Salut !
Je ne sais pas du tout, mais du peux faire une petite fonction qui découpe la chaine et compare les chiffres de droites, si ça vaut 0 tu retiens la partie de droite
Sortie
10
10.12345
Je ne sais pas du tout, mais du peux faire une petite fonction qui découpe la chaine et compare les chiffres de droites, si ça vaut 0 tu retiens la partie de droite
<?php function arrondir($string) { //si le séparateur est un point $nombre=explode(".",$string); //si c'est une virgule if(count($nombre)==1) $nombre=explode(",",$string); //vérifie que le découpage à fonctionné et dans ce cas c'est un nombre décimal //compare la partie de droite à 0 if(count($nombre)>1 && $nombre[1]==0) return $nombre[0]; //retourne la partie entière else return $string; //retourne la chaine } $nombre = number_format("10", 5, ',', ' '); echo arrondir($nombre); echo "<br/>"; $nombre=10.12345; echo arrondir($nombre); ?>
Sortie
10
10.12345
en fait dès que je dépasse les 5 chiffre après la virgule ta fonction ne fonctionne plus ><
ma fonction est un exemple ^^
J'ai testé vite fait =)
A toi de bidouillé pour que ça fonctionne et viens poster ta modif ici ^^
Je vais quand même regarder.
En fait ce n'est pas très correct ce que j'ai fais. En effet si j'arrondi un nombre 0.00000001000 ça ne marche pas et les 3 0 de la fin sont inutiles.
Il ne faut bien découper la chaine, mais ensuite il faut lire de droite à gauche et supprimer tous les 0.
J'ai testé vite fait =)
A toi de bidouillé pour que ça fonctionne et viens poster ta modif ici ^^
Je vais quand même regarder.
En fait ce n'est pas très correct ce que j'ai fais. En effet si j'arrondi un nombre 0.00000001000 ça ne marche pas et les 3 0 de la fin sont inutiles.
Il ne faut bien découper la chaine, mais ensuite il faut lire de droite à gauche et supprimer tous les 0.
5 juin 2009 à 14:38
C'était sur que ça existait déjà ^^
Quand j'essaie
$nombre=10.12345;
echo number_format( $nombre, round( abs( log10( $nombre-floor($nombre ) ) ) ) );
Il m'affiche 10.1 :S
Pour 1000 il affiche 1,000
Donc à revoir :P
j'avais fais ça sinon :