Функция NUMBER_FORMAT_I18N() в WordPress

Функция 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, чтобы правильно форматировать числа для пользователей из разных стран!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *