Числовой формат на основе пользовательской культуры php

Я использую php. Я пытаюсь отформатировать число на основе пользовательской культуры. то, что я в идеале хотел бы, было бы функцией, в которой я мог бы указать культуру и число в качестве параметров, и он автоматически форматировал бы число на основе культуры, но я не нашел ничего подобного.

Поэтому я попытался использовать setlocale(LC_NUMERIC, myCulture), а затем вызвать localeconv(), чтобы узнать, какой десятичный разделитель, разделитель тысяч и т. Д. Использовать функцию number_format. Я ставлю результаты на переменные, и они все одинаковы! т.е. я сделал:

setlocale(LC_NUMERIC, "en-US");
$result1 = localeconv();
setlocale(LC_NUMERIC, "fr-FR");
$result2 = localeconv();

$ result1 и $result2 - это одно и то же! Что я делаю неправильно? любая идея? Спасибо за помощь,

Мартин

1 ответ

Проверить возвращаемое значение setlocale(LC_NUMERIC, "en-US");

$val = setlocale(LC_NUMERIC, "en-US");
if ($val === FALSE) //locale is not available

если $val возвращает FALSE для дистрибутивов Linux, выполните следующую команду

locale-gen fr_FR.utf8 и он должен установить локаль для вас.

Другие вопросы по тегам