8721 sujets

Développement web côté serveur, CMS

Bonjour,

Je travaille avec une version PHP 7.1 et lorsque j'utilise number_format(), le message d'erreur suivant s'affiche : Notice: A non well formed numeric value encountered in. J'ai beau chercher des solutions via des forums, le message d'erreur est toujours présent mais le résultat est bien affiché.


Merci d'avance pour vos réponses Smiley smile
Modifié par kamelkamass (07 May 2018 - 10:43)
Oui,le voici :

<?php echo number_format($result,2,',',''); ?>

Il faut savoir qu'à chaque fois qu'il y a un number_format(), le message d'erreur s'affiche.
Oui, il s'agit bien de deux nombres et même quand je fais un simple echo de $result, le message d'erreur reste le même mais le résultat est bien affiché en dessous du message d'erreur .
<?php $resultSomHT=$metre_total+$total_exposant_inscription; ?>
<?php echo number_format($resultSomHT,2,',',''); ?>
Notice: A non well formed numeric value
encountered in ...
et le résultat affiché juste en dessous-->340,00
Il n'est pas nécessairement un nombre à virgule,cela dépend des données du client que je récupère.Parfois ,il s'agit d'un nombre à virgule,parfois non.
Test bien si c'est un numéri le nombre que tu lui envoi


public function return_number($var)
{
if (is_numeric($var)) {
            return number_format($var);
        }
}

$resultSomHT = return_number($resultSomHT);
echo number_format($resultSomHT,2,',',''); 



ou alors tu cast en float :
echo number_format((float)$resultSomHT,2,',','');