Bonjour,
j'utilise la fonction number_format pour formater un nombre.
mais quand je n'ai pas de valeurs à afficher rien ne s'affiche (logique).
existe t'il une fonction php qui permet de mettre un 0 a la place de rien ?
Merci
Bonjour,
j'utilise la fonction number_format pour formater un nombre.
mais quand je n'ai pas de valeurs à afficher rien ne s'affiche (logique).
existe t'il une fonction php qui permet de mettre un 0 a la place de rien ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if (empty($x)) { echo '0'; }
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Bonjour Sabotage,
En effet c'est une solution, mais je cherche qqc d'autre plus simple a intégrer a mon code.
Voici comment je récupérè la valeur et comment je l'affiche.
La solution qui me vient en tête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part number_format($response->stats->opened_rate,2, ',', ' ');
Code : Sélectionner tout - Visualiser dans une fenêtre à part (is_numeric($response->stats->opened_rate) ? number_format($response->stats->opened_rate,2, ',', ' ') : '0' );
J'aurai tout de même souhaité savoir si php avait une fonction toute faite.
Le plus propre serait quand même que ta variable soit définie à 0 à sa sortie de traitement, même quand il n'y a rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part number_format((int)$response->stats->opened_rate,2, ',', ' ')
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Salut,
comme ça
EDIT: Grilled - je devrais quand même lire avant de poster
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo number_format((float)$response->stats->opened_rate, 2, ',', '');
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Fait un getter pour opened_rate plutôt qu'une variable publique et tu gère l'absence de valeur dans le getter.
ou en abrégé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function get_opened_rate() { if(empty($this->opened_rate)) return 0; return $this->opened_rate; }
C'est à mon sens pas au moment de l'utilisation que la vérification doit se faire mais à la récupération de la donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public function get_opened_rate() { return (float)$this->opened_rate; }
C'est typiquement le genre de problème induit par un typage faible qu'on peut compenser avec un plus de rigueur dans le codage
Ouaip, mais j'ai laissé mon message car sabotage fait une conversion en (int) d'un numérique qui va être formaté en décimal...
Vu que j'ouvre une dizaine de discussions dans des onglets différents, quand j'arrive à poster une réponse entre le début de la lecture et le moment où je me mêle d'un fil, il se peut qu'une réponse ait déjà été donnée. Parfois, je me rends compte à la prévisualisation de la réponse mais parfois je saute cette étape et zou je me fais griller
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Pour le coup je suis tout à fait d'accord avec vous, mais je ne suis pas maitre de l'info de sortie.
L'objet me viens d'un WS et ils n'ont pas eux la bonne idée de mettre un 0 si pas de valeur, donc il faut que je gère cela autrement.
Ceci dit, il semble que number_format affiche 0 si pas de valeur.
Donc j'ai mis number_format de partout et c'est nikel.
Euh, si j'étais toi je ferais la conversion explicitement car si tu tombes pour n'importe quelle raison sur truc de ce genre :
tu vas ramasser ceci à l'exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo number_format('abc', 2, ',', '');
Alors que (float)'abc' donnera toujours 0Warning: number_format() expects parameter 1 to be double, string given in K:\projets\dvp\sarp\dvp.php on line 3
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Ok merci de l'info.
Question il est préférable d'utiliser (float) ou (int) comme proposé plus haut ?
Ba ca dépend de la valeur attendu , mais à priori vu le formatage que tu fais y'a des chance que ce soit un float.
(float).
Edit : Encore grilled : j'abandonne
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager