Я пытаюсь создать французскую версию одного из моих сайтов. Я установил setlocale(LC_ALL, 'fr_FR');
в верхней части моей страницы и с помощью strftime
Я правильно показываю даты во французском стиле.setlocale to fr-FR в PHP и форматирование чисел
Однако у меня есть некоторые проблемы с числом. Часть страницы использует данные, которые я получаю из веб-службы. Я задаю возвращенное значение в вар, как это:
$overallRating = $returnArray['Overall'];
Я тогда использую следующий код позже отформатировать его в 1 десятичного знака
number_format($overallRating,1)
В английской версии значение overallRating может быть 7.5
и возвращает значение типа 7.5
(причину для запуска его через number_format, если она возвращает 7
Я хочу, чтобы отобразить 7.0
)
Однако на французском языке, если я р выровняйте исходное значение $ totalRating. Я получаю 7,5
, который выглядит так, как будто он перевел его на французский. Это было бы хорошо, но если я запускаю его через number_format
я получаю ошибку:
Notice: A non well formed numeric value encountered in /sites/index.php on line 250
Линия 250 является number_format
линия
Я полагаю, перевод на 7,5
Мессинг его, но не знаю, как решить это ...
Использование PHP 5.3 в случае, если есть что-то новое, что помогает мне
Это похоже на то, что ваше значение получает number_formatted в другом месте. Вы на 100% уверены, что этого не произойдет? Можете ли вы проследить шаг за шагом, в какой момент значение будет преобразовано? –
Хотя я не номер_формации числа до этого, я думаю, что 'setlocale' переводит его, как я сказал в вопросе, если я распечатаю $ generalRating на французской странице, прежде чем запускать его через number_format, он отображает 7,5 (с запятая). Я предполагаю, что это приводит к ошибке number_format? –