J'essaie de créer une version française de l'un de mes sites. J'ai mis setlocale(LC_ALL, 'fr_FR');
en haut de ma page, et en utilisant strftime
J'affiche les dates correctement dans le style français.setlocale à fr-FR en PHP et mise en forme des nombres
Cependant, j'ai quelques problèmes avec un nombre. Une partie de la page utilise les données que je reçois d'un service Web. J'assigne une valeur retournée à un var comme ceci:
$overallRating = $returnArray['Overall'];
Je suis puis en utilisant le code suivant plus tard pour le formater à 1 place décimale
number_format($overallRating,1)
Dans la version anglaise de la valeur overallRating pourrait être 7.5
et retourne une valeur telle que 7.5
(la raison de l'exécuter par la number_format est si elle retourne 7
je veux afficher 7.0
)
Cependant, dans la version française si je p rint la valeur $ globaleRating brute je reçois 7,5
qui semble l'avoir traduit en français. Ce serait bien, mais si je le lance à travers number_format
j'obtiens l'erreur:
Notice: A non well formed numeric value encountered in /sites/index.php on line 250
ligne 250 est la number_format
ligne
Je suppose que la traduction 7,5
salit vers le haut, mais pas sûr de savoir comment résoudre ce ...
en utilisant PHP 5.3 dans le cas où il y a quelque chose de nouveau qui me aide
Cela ressemble à votre valeur obtient number_formatted ailleurs. Êtes-vous sûr à 100% que cela n'arrive pas? Pouvez-vous suivre étape par étape à quel point la valeur est convertie? –
Bien que je ne sois pas number_formating le nombre avant cela, je pense que le 'setlocale' le traduit, comme je l'ai dit dans la question si j'imprime le $ overallRating dans la page française avant de l'exécuter nombre_format il montre 7,5 (avec une virgule). Je suppose que cela provoque l'échec de number_format? –