Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/07/2011, 14h25   #1
Membre régulier
 
Étudiant
Inscription : février 2007
Messages : 378
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 378
Points : 90
Points : 90
Par défaut Deux chiffres après la virgule

Bonjour,

Je cherche une fonction PHP qui me donne pour un float seulement 2 chiffres après la virgules, même s'il s'agit d'un entier.

Exemple :

50,4567 devient 50,45 (la fonction number_format le fait)
50 devient 50,00 (la fonction number_format ne le fait pas)

Connaissez vous une fonction qui le fait ?

Merci!


...
Mo_Poly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 14h43   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
Euh... Chez moi, number_format le fait
Code :
1
2
$var = 50;
echo number_format($var, 2, ',', '');
m'affiche :
Citation:
50,00
Quelle version de php utilises-tu ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/07/2011, 14h58   #3
Membre régulier
 
Étudiant
Inscription : février 2007
Messages : 378
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 378
Points : 90
Points : 90
Citation:
Envoyé par Celira Voir le message
Euh... Chez moi, number_format le fait
Code :
1
2
$var = 50;
echo number_format($var, 2, ',', '');
m'affiche :

Quelle version de php utilises-tu ?
Ah bein oui, en fait j'avais fait number_format($var, 2); sans les 2 derniers paramètres.

Merci beaucoup

...
Mo_Poly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 15h02   #4
Membre régulier
 
Étudiant
Inscription : février 2007
Messages : 378
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 378
Points : 90
Points : 90
Oups, le problème est que number_format($var, 2, ',', ''); m'enlève automatiquement les chiffres après la virgule et mets des 00 tout le temps :/
C'est normal ?


...
Mo_Poly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 15h10   #5
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
Code :
1
2
$var = 50.4567;
echo number_format($var, 2, ',', '');
m'affiche :
Citation:
50,46
Attention, le séparateur décimal est le point en php et non la virgule
Citation:
Envoyé par PHP.net
La valeur est fournie par la portion initiale de la chaîne de caractères. Si la chaîne de caractères commence par un caractère numérique valide, ce sera la valeur utilisée. Sinon, la valeur sera de 0 (zéro). Une valeur numérique valide est un signe optionnel, suivi par un ou plusieurs nombres (contenant, optionnellement, un point décimal), suivi par, éventuellement, un exponentiel.
Conversion de chaînes en nombres
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/07/2011, 15h24   #6
Membre régulier
 
Étudiant
Inscription : février 2007
Messages : 378
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 378
Points : 90
Points : 90
Citation:
Envoyé par Celira Voir le message
Code :
1
2
$var = 50.4567;
echo number_format($var, 2, ',', '');
m'affiche :

Attention, le séparateur décimal est le point en php et non la virgule

Conversion de chaînes en nombres
C'était ça l'erreur en effet. En fait tout mes calculs sont bons, mais j'ai utilisé la virgule seulement pour l'affichage, et le number_format est aussi seulement pour l'affichage, ce qui a donc crée l'erreur.

Merci beaucoup!


...
Mo_Poly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2011, 17h55   #7
Membre habitué
 
Homme Lucas GAUTHERON
Lycéen
Inscription : décembre 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Lucas GAUTHERON

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : décembre 2008
Messages : 106
Points : 145
Points : 145
Tiens je connaissais pas cette fonction, j'utilisais sprintf à la place :
Code :
sprintf("%.2f", $float);
lucas74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h40.


 
 
 
 
Partenaires

Hébergement Web