number_format_i18n()
Конвертує число (ціле або дробове) у формат, що підходить до поточної локалі (мови сайту).
Числом, яке потрібно відформатувати, може бути ціна або кількість чогось – число яке повинно легко сприйматися людиною.
Наприклад, для російської тисячі відокремлюються пробілом, а дробові коми – 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
(дуже швидко) | 50000 разів – 0.06 сек
(швидкість світла) |
PHP 7.1.2, WP 4.7.4
Хуки з функції
Повертає
Строку
. Відформатована кількість.
Використання
number_format_i18n($number, $decimals = 0);
-
$number
(float) (обов’язковий) - Число, яке потрібно відформатувати відповідно до локалі.
-
$decimals
(число) -
Скільки знаків після коми залишити чи показати?
За замовчуванням: 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() 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); }