Функция NUMBER_FORMAT_I18N() в WordPress
Функция number_format_i18n() используется для форматирования чисел с плавающей точкой в зависимости от выбранного языка и региона. Это удобно, когда вам нужно отображать числа в формате, который понятен пользователям из разных стран.
Использование функции
Функция может быть полезна, например, для отображения количества комментариев или форматирования размера файла.
Возвращаемое значение
Функция возвращает строку, в которой число приведено к нужному формату.
Синтаксис
number_format_i18n( $number, $decimals );
Параметры
- $number (float) — Число, которое нужно отформатировать. Этот параметр является обязательным.
- $decimals (int) — Количество знаков после запятой (десятичных знаков). Этот параметр является необязательным и по умолчанию равен 0.
Примеры использования
Вот несколько примеров форматирования чисел с помощью функции number_format_i18n():
Пример 1
$number = number_format_i18n( 1111 );
// Результат для русского языка: '1 111'
// Результат для английского языка: '1,111'
Пример 2
$number = number_format_i18n( 2222, 2 );
// Результат для русского языка: '2 222,00'
// Результат для английского языка: '2,222.00'
Пример 3
$number = number_format_i18n( 5555.5555555, 2 );
// Результат для русского языка: '5 555,56'
// Результат для английского языка: '5,555.56'
Обработка пустых значений
Функция также корректно обрабатывает пустые или нулевые значения:
number_format_i18n( 0 );
// "0"
number_format_i18n( null );
// "0"
number_format_i18n( '' );
// Вызовет предупреждение: число ожидается, но строка получена.
number_format_i18n( [] );
// Вызовет предупреждение: число ожидается, но массив получен.
Примечания
- Функция использует объект
$wp_locale, который содержит информацию о формате чисел, дат и времени для выбранного языка в WordPress.
История изменений
- С версии 2.3.0 — Функция была добавлена в WordPress.
Код функции
Если вам интересно, как работает эта функция, вот её код:
function number_format_i18n( $number, $decimals = 0 ) {
global $wp_locale;
if ( isset( $wp_locale ) ) {
$formatted = number_format( $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] );
} else {
$formatted = number_format( $number, absint( $decimals ) );
}
return apply_filters( 'number_format_i18n', $formatted, $number, $decimals );
}
Теперь вы можете использовать эту функцию в вашем проекте WordPress, чтобы правильно форматировать числа для пользователей из разных стран!