Number formatter

У каждого языка свои нормы записи чисел: разделитель дробной части, группировка разрядов, обозначение тысяч и миллионов. Форматтеры применяют нормы текущей локали и обновляют запись при переключении языка. Применяйте их везде, где числа видит пользователь.

В больших числах разряды группируют по три, считая справа. В тексте используйте пайп kbqNumber, в таблицах — kbqTableNumber. Пайпы отличаются порогом, с которого начинается группировка.

kbqNumber группирует разряды в числах от 10 000, то есть начиная с пяти разрядов: 1234, 56 789, 987 654, 1 000 000 000. В тексте короткое число без разделителя читается естественнее.

kbqTableNumber отделяет разряды всегда: 1 234, 56 789, 987 654, 1 000 000 000. В таблице ровные столбцы позволяют сравнивать значения по разрядам сверху вниз.

Оба пайпа принимают необязательную строку digitsInfo, которая задает количество целых и дробных разрядов:

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}-{useGrouping}
Параметр По умолчанию Описание
minIntegerDigits 1 Минимальное количество целых разрядов
minFractionDigits 0 Минимальное количество дробных разрядов
maxFractionDigits 3 Максимальное количество дробных разрядов
useGrouping true Включает или выключает группировку разрядов

Например, '4.0-2-false' оставляет 4 целых и до 2 дробных разрядов и отключает группировку.

Пайп kbqRoundNumber отображает большие числа в сокращенном виде: тысячу — как K, миллион — как M, миллиард — как B и так далее.

По умолчанию пайпы используют текущую локаль приложения. Передайте код локали последним аргументом, чтобы отформатировать значение в указанной локали независимо от активной.

Предложения по улучшению
Если вы нашли ошибку или хотите доработать статью, создайте запрос на GitHub.