Функция F(выр-1,выр-2,выр-3)


НАЧАЛО >> Оглавление >> Общее описание >> Язык форматирования ИРБИС >> Функции >> Строковые функции >> Функция F(выр-1,выр-2,выр-3)


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

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

Выр-2 определяет минимальную длину, т. е. значением функции будет символьная строка длиной как минимум выр-2 символов, и если преобразуемое числовое значение требует выр-2 символов или меньше, оно будет выровнено по правой границе в пределах этой длины. Если количество символов, требуемое для представления значения выр-1, больше данной длины, то используются дополнительные позиции. В этом случае выходная строка будет длиннее, чем выр-2 символов.

Выр-3 определяет количество десятичных цифр дробной части Выр-1. Если оно опущено, то результат будет представлен в экспоненциальной форме. Если при этом также опущено выр-2, то по умолчанию длина выходной строки будет равна 16 символам. Если выр-3 присутствует, то результатом будет округленное представление выр-1 с фиксированной точкой с выр-3 цифрами после десятичной точки. Если выр-3 равно нулю, то выр-1 округляется до ближайшего целого числа и результатом будет целое число без десятичной точки.

Если при преобразовании целых чисел и чисел с фиксированной точкой оказывается, что целая часть числа слишком большая для ее представления, то выходная строка заменяется последовательностью символов "*".

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

Примеры функции F приведены ниже.

Выражение Значение
f(1) 1.000000000E+00
f(1,10) 1.000E+00
f(-1,10,2) -1.00
f(1,5,2) 1.00
f(1,8,2) 1.00
f(mfn,1,0) 4
f(mfn,2,0) 4
f(mfn,3,0) 4