Я пытаюсь создать французскую версию одного из моих сайтов. Я установил setlocale(LC_ALL, 'fr_FR');
вверху своей страницы, и с помощью strftime
я правильно отображаю даты во французском стиле.
Однако у меня возникли некоторые проблемы с номером. Часть страницы использует данные, которые я получаю от веб-службы. Я присваиваю возвращаемое значение var следующим образом:
$overallRating = $returnArray['Overall'];
Затем я использую следующий код, чтобы отформатировать его до 1 десятичного знака.
number_format($overallRating,1)
В английской версии значение totalRating может быть 7.5
и возвращает такое значение, как 7.5
(причина запуска его через формат number_format заключается в том, что если он возвращает 7
, я хочу, чтобы он отображал 7.0
)
Однако во французской версии, если я распечатаю необработанное значение $overallRating, я получу 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 на случай, если появится что-то новое, что мне поможет
setlocale
переводит его, как я сказал в вопросе, если я распечатаю $overallRating на французской странице перед запуском его через number_format, он показывает 7,5 (с запятой) . Я предполагаю, что это приводит к сбою number_format? - person bateman_ap   schedule 25.05.2010