---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.3
alternate:
  - https://divkit.tech/docs/en/concepts/decimal_format.md
  - https://divkit.tech/docs/ru/concepts/decimal_format.md
---
> **Documentation Index:** Fetch the complete configuration index at https://divkit.tech/docs/ru/llms.txt

# Форматирование чисел

DivKit имеет встроенную функцию и метод для форматирования чисел, `decimalFormat`.

```
count.decimalFormat('#')
decimalFormat(count, '#')
```

## Шаблон форматирования

Шаблон может содержать 4 символа: `#`, `0`, `,`, `.`.

`#` означает цифру, которую можно опустить, если она не нужна.

`0` означает цифру, которая обязательно обязательно должна быть в результате. Будет заполнено нулём, если нужной значащей цифры нет.

Пример:

```
1.decimalFormat('00') // -> '01'
123.decimalFormat('00') // -> '123'
```

`,` означает наличие и позицию группировки. Может встречаться только один раз.

Пример:

```
1234.decimalFormat('####') // -> '1234'
1234.decimalFormat('#,###') // -> '1 234'
```

`.` означает разделитель между целой и дробной частью. Может встречаться только один раз.

Пример:

```
1.decimalFormat('#.#') // -> '1'
1.decimalFormat('#.0') // -> '1,0'
1.2.decimalFormat('#.#') // -> '1,2'
```

## Комбинация различных символов в формате

Пример:

```
decimalFormat(1234567.89, '#,###.00') // -> '1 234 567,89'
```

Прочитать можно так:
1) В целой части выводим все символы, что есть, и через каждые 3 символа рисуем разделитель группы
2) В дробной части делаем минимум 2 цифры. Точка есть всегда

Пример:

```
decimalFormat(0.123456, '.00#') // -> '0,123'
```

Означает "от 2х до 3х цифр в дробной части".

## Округление

Округляется банковским округлением (Round-Half-To-Even).

Округляется до ближайшего чётного целого.

Пример:

```
decimalFormat(0.5, '#') // -> '0'
decimalFormat(1.5, '#') // -> '2'
decimalFormat(2.5, '#') // -> '2'
```

## Локали

В дефолтном варианте используется текущая локаль.

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

В ряде случаев лучше передать локаль явным образом:

```
decimalFormat(0.123456, '.00#', 'en-US') // -> '0.123'
```

Количество символов в группе задаётся шаблоном, не локалью!
