numberMask
Маска для чисел и сумм: разделитель тысяч, дробная часть, минус, префикс и суффикс.
Сигнатура
ts
function numberMask(options?: NumberMaskOptions): Mask| Опция | По умолчанию | Описание |
|---|---|---|
thousands | ' ' | Разделитель тысяч |
decimal | ',' | Разделитель дробной части. Точка с цифровой клавиатуры тоже принимается |
precision | 2 | Знаков после запятой; 0 — только целые |
negative | false | Разрешить минус |
prefix, suffix | '' | Текст до и после числа: '$', ' ₽', ' %' |
Значение без маски — строка в формате JavaScript: 1 234,5 → '1234.5'. Превратить в число — Number(unmask(...)) или coerce.number в схеме. Лишние нули в начале убираются, ,5 превращается в 0,5.
Примеры
ts
mask('1234567.891', numberMask()); // '1 234 567,89'
mask('1234567.5', numberMask({ thousands: ',', decimal: '.' })); // '1,234,567.5'
mask('-42', numberMask({ negative: true, precision: 0 })); // '-42'
mask('99', numberMask({ prefix: '$', thousands: ',', decimal: '.' })); // '$99'
unmask('1 500,50 ₽', money({ currency: '₽' })); // '1500.50'См. также
- Готовые маски —
money,percent