number_format_i18n() WP 2.3.0

Конвертує число (ціле або дробове) у формат, що підходить до поточної локалі (мови сайту).

Числом, яке потрібно відформатувати, може бути ціна або кількість чогось – число яке повинно легко сприйматися людиною.

Наприклад, для російської тисячі відокремлюються пробілом, а дробові коми – 1 111,11. А англ. тисячі коми а дробові крапкою – 1,111.11.

Працює з урахуванням PHP функції number_format() .

Дивіться кастомну функцію number_to_human() – Округлення великих чисел.

1 раз – 0.000034 сек
(дуже швидко) | 50000 разів – 0.06 сек
(швидкість світла) |
PHP 7.1.2, WP 4.7.4

Хуки з функції

Повертає

Строку. Відформатована кількість.

Використання

number_format_i18n($number, $decimals = 0);
$number
(float) (обов’язковий)
Число, яке потрібно відформатувати відповідно до локалі.
$decimals
(число)
Скільки знаків після коми залишити чи показати?


За замовчуванням: 0

Приклади

0

#1 Демонстрація висновку

$number = number_format_i18n(1111);
// рус: '1 111'
// англ: '1,111'

$number = number_format_i18n(2222, 2);
// рус: '2 222,00'
// англ: '2,222.00'

$number = number_format_i18n(5555.5555555, 2);
// рус: '5 555,56'
// англ: '5,555.56'

Обробка порожніх значень:

number_format_i18n (null);
// "0"

number_format_i18n('');
// Warning: number_format() expects parameter 1 to be float, string given

number_format_i18n([]);
// Warning: number_format() expects parameter 1 to be float, array given

нотатки

  • Global. WP_Locale. $wp_locale WordPress date and time locale object.

список змін

З версії 2.3.0Введено.

Код number_format_i18n() WP 6.0.2

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 ) );
	}

	/**
	 * Filters number formatted based on the locale.
	 *
	 * @ Since 2.8.0
	 * @since 4.9.0 The `$number` and `$decimals` parameters були added.
	 *
	 * @param string $formatted Перевірений номер у форматі string.
	 * @param float $number Номер на convertible заснований на місцевості.
	 * @param int $decimals Precision of number of decimal places.
	 */
	return apply_filters( 'number_format_i18n', $formatted, $number, $decimals);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *