Команда Math


Назначение

Выполнение арифметических операций

Описание

math(returnvar,operation,number)

Выполнение арифметических действий: Сложение, вычитание, умножение, деление, Модуль, GT, LT, GTE, LTE, EQ

Все арифметические функции имеют одинаковый формат определения параметров:

  • returnvar: имя переменной, в которой будет сохранен результат
  • operation: операция
  • number: второй аргумент

Каждое действие описывается как:
Действие операнд1 на операнд2

Пример:
Action = Divide
Param1 = 10
Param2 = 2

Результат:
Деление 10 на 2

Пример

Примеры использования в плане набора:

exten => 11099,1,Math(RV,1+20)
exten => 11099,2,NOOP(${RV})
exten => 11099,3,Math(RV,10*2)
exten => 11099,4,NOOP(${RV})
exten => 11099,5,Math(RV,10*2)
exten => 11099,6,NOOP(${RV})
exten => 11099,7,Math(RV,10-2)
exten => 11099,8,NOOP(${RV})
exten => 11099,9,Math(RV,2%10)
exten => 11099,10,NOOP(${RV})
exten => 11099,11,Math(RV,10/0)
exten => 11099,12,NOOP(${RV})
exten => 11099,13,math(RV,10-200)
exten => 11099,14,NOOP(${RV})
exten => 11099,15,Math(RV,1-20)
exten => 11099,16,NOOP(${RV})
exten => 11099,17,Math(RV,1<20)
exten => 11099,18,NOOP(${RV})
exten => 11099,19,Math(RV,1>=20)
exten => 11099,20,NOOP(${RV})
exten => 11099,21,Math(RV,101>20)
exten => 11099,22,NOOP(${RV})
exten => 11099,23,Math(RV,1==20)
exten => 11099,24,NOOP(${RV})
exten => 11099,25,Math(RV,20<=20)
exten => 11099,26,NOOP(${RV})

Замечание для различных версий

  • Команда MATH была добавлена в CVS версию, начиная с октября 2004 и после релиза 1.0.2.

Ссылки по теме:



Список команд | Asterisk FAQ