Основы языка формул. Синтаксис и лексические элементы формул, страница 8

G       Общий формат

F       Числа с фиксированной точкой

S        Научная  запись

С       Денежный  формат                 -

,        Разряды  тысяч  разделяются  запятыми

%      Процент

(        Отрицательные  числа  в круглых скобках

n       Количество  значащих  цифр

Можно применять комбинации приведенных выше параметров. Например, функция @Texf (10S001.056; "F2,") возвращает  число   105,001.06.

Функцию @Text можно использовать с полями и переменными, которые содержат значения даты/времени. Функция @Text (dCall;"DOSO")отображает дату звонка (поле dCall), используя только часть значения, содержащую дату.

Для преобразования текстового значения в значение даты/времени используется функция @TextToTime (значение_строки). Параметр значе-ние_строки должен быть действительным значением даты/времени, отвечающим требованиям сервера Domino. Он также может быть относительным значением даты таким как Tomorrow, Today или Yesterday.

ПРЕДОСТЕРЕЖЕНИЕ

Если в формуле @TextToTime() пропущена компонента AM или РМ, либо было использовано время с 24 часовой шкалой отсчета (17:10:10), то по умолчанию добавляется компонента времени AM.

У функций @Date() и @Time() существует две формы с разным синтаксисом. Первая форма — это расширенная форма, которая включает все компоненты значения даты/времени; вторая форма — это сокращенная форма, которая для функции @Date() включает компонент, содержащий дату, а для функции @Time() — компонент, содержащий время. Ниже приводится синтаксис для каждой формы:

@Date   (year;   month; day)

@Date    (year;   month; day; hour; minute; second)

@Time   (hour;   minute; second)

STime   (year;   month; day; hour; minute; second)

Выполнение математических действий над значениями даты/времени

Выполнять математические действия над значениями даты/времени довольно сложно во всех языках программирования. Например, можно было бы ожидать, что выражение @Today - @Yesterdayвозвращает 1, так как разница между сегодня и вчера составляет 1 день. Вместо этого данное выражение возвращает 86 400. Оно представляет собой число часов в сутках, умноженное на число минут в часе и на число секунд в минуте, то есть 24*60*60. Все вычисления над значениями даты/времени производятся в секундах, а результаты всех математических действий также выражаются в секундах.

Если требуется узнать число дней между двумя значениями даты/времени, просто разделите результат вычитания на "магическое число" — 86 400. Если необходим результат в часах, делите на 3 600 (60 минут * 60 секунд). Помните, что когда результат вычитания делится на 86 400, то полученный результат представляет собой число дней, а не число дней плюс число часов.

Если результат должен представлять собой дни плюс часы, то выполнять математические действия будет более сложно. Приведенный ниже пример дает результат "1 day(s) and 12 hour(s)":

@Text(@Integer(([02/15/99 05:00:00 РМ] - [02/14/99  05:00:00  AM] ) / 86400)

) + " day(s) and " + @Text((@Modulo( ([02/15/99 05:00:00   PM] –

[02/14/99 >-05:00:00  AM] );   86400))    /   3600)    +   "   hour(s)"

Работа со строками

Строковые функции могут находить строковые данные, извлекать части текстовых строк (подстроки), урезать строки, преобразовывать данные других типов в строковые данные, сравнивать строки, определять их длину, модифицировать строки и так далее. В табл. 19.5 перечислены некоторые из наиболее часто используемых строковых функций.

Таблица 19.5 - Строковые функции @Functions