Перейти к содержанию

integerToText

Функция integerToText преобразует число в текстовое представление на английском языке.

Функция поддерживает количественные и порядковые числительные.

Синтаксис

integerToText(число, типЧислительного)

Параметры:

  • число — числовое значение или выражение, которое необходимо преобразовать в текст;
  • типЧислительного — определяет вид числительного.

Для параметра типЧислительного доступны следующие значения:

Значение Тип числительного Пример
NumberType.Cardinal Количественное twenty-one
NumberType.Ordinal Порядковое twenty-first

Если передано десятичное число, функция использует только целую часть. Дробная часть отбрасывается без округления.

Возвращаемое значение

Функция возвращает текстовое представление числа на английском языке.

Например:

integerToText(21, NumberType.Cardinal)

вернёт:

twenty-one

Особенности

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

Если необходимо преобразовать десятичное число целиком, его целую и дробную части нужно обрабатывать отдельно.

Примеры

Количественное числительное

Выражение:

integerToText(1234, NumberType.Cardinal)

вернёт:

one thousand two hundred thirty-four

Порядковое числительное

Выражение:

integerToText(21, NumberType.Ordinal)

вернёт:

twenty-first

Десятичное число

Если поле число содержит:

1234,56

выражение:

integerToText(число, NumberType.Cardinal)

вернёт:

one thousand two hundred thirty-four

Дробная часть 56 в результат не входит.

Сумма в долларах и центах

Если поле сумма содержит:

1234,56

для вывода целой и дробной частей суммы отдельно можно использовать выражение:

integerToText(сумма, NumberType.Cardinal) & " " &
если(сумма - (сумма остаток 1) = 1, "US dollar", "US dollars") & " " &
integerToText(
    округлить((сумма остаток 1) * 100, 0),
    NumberType.Cardinal
) & " " &
если(
    округлить((сумма остаток 1) * 100, 0) = 1,
    "cent",
    "cents"
)

Результат:

one thousand two hundred thirty-four US dollars fifty-six cents

Здесь:

  • сумма остаток 1 — получает дробную часть числа;
  • (сумма остаток 1) * 100 — преобразует дробную часть в количество центов;
  • округлить(..., 0) — приводит количество центов к целому числу;
  • сумма - (сумма остаток 1) — получает целую часть суммы для выбора между US dollar и US dollars;
  • если(...) — выбирает единственную или множественную форму названия валюты.