probleme number_format

Eléphant du PHP | 150 Messages

23 août 2015, 12:35

bonjour,
j'ai cette erreur avec :

Code : Tout sélectionner

$total=$_POST['total']; echo 'Total TTC : '.number_format($total, 2, ',', ' ').' € ' ; //test echo $total;
$total = 9050,04
l'erreur est : Notice: A non well formed numeric value encountered
Une valeur numérique mal formée a été rencontrée

merci

Mammouth du PHP | 1339 Messages

23 août 2015, 13:35

essaye ;
$total=floatval($_POST['total']);
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 août 2015, 10:47

Bonjour,

La fonction number_format() attend un nombre en premier paramètre. La valeur que tu lui passes en argument n'en est pas un mais une chaîne de caractères.
Un nombre (au sens informatique) devrait être sans espace, sans séparateur de milliers, avec un point et non une virgule comme séparateur de décimales, ...
A cause de cette virgule, php considère qu'il s'agit d'une chaine de caractère et non d'un nombre et ne parvient pas à le convertir.

Il faut distinguer l'affichage (avec séparateur de milliers, virgule en décimal, etc.) et la manipulation des données qui doit se faire à partir de nombres bruts :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...