Поделиться через


Математические функции времени выполнения X++

Замечание

Группы интересов сообщества теперь переехали из Yammer в Microsoft Viva Engage. Чтобы присоединиться к сообществу Viva Engage и принять участие в последних обсуждениях, заполните форму " Запрос доступа к финансам и операциям Viva Engage Community " и выберите сообщество, к которому вы хотите присоединиться.

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

Эти функции выполняют математические вычисления.

пресс

Извлекает абсолютное значение реального числа. Примеры.

  • abs(-100.0) возвращает значение 100,0.
  • abs(30,56) возвращает значение 30,56.

Синтаксис

real abs(real arg)

Параметры

Параметр Description
arg Число для получения абсолютного значения.

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

Абсолютное значение arg.

Example

static void absExample(Args _args)
{
    real r1;
    real r2;
    ;
    r1 = abs(-3.14);
    r2 = abs(3.14);
    if (r1 == r2)
    {
        print "abs of values are the same";
        pause;
    }
}

acos

Извлекает арку косинус реального числа.

Замечание

Значения аргументов, которые находятся вне диапазона -1 до 1 диапазона, вызывают следующую ошибку времени выполнения: "Аргумент для тригонометрической функции вне диапазона".

Синтаксис

real acos(real arg)

Параметры

Параметр Description
arg Число, из которого извлекается арка косинус.

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

Арка косинус арго.

Example

static void acosExample(Args _args)
{
    real r;
    str  s;
    ;
    r = acos(0.0);
    s = strFmt("The arc cosine of 0.0 is %1 ", r);
    print s;
    pause;
}

asin

Извлекает синус дуги реального числа.

Замечание

Значения аргументов, которые находятся вне диапазона -1 до 1 диапазона, вызывают следующую ошибку времени выполнения: "Аргумент для тригонометрической функции вне диапазона".

Синтаксис

real asin(real arg)

Параметры

Параметр Description
arg Число, для вычисления подсчитываемого дуги.

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

Арка синус указанного числа.

Замечания

aSin(0.36) возвращает значение 0,37.

atan

Извлекает тангенс дуги реального числа.

Синтаксис

real atan(real arg)

Параметры

Параметр Description
arg Число, для вычисления тангенсов дуги.

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

Тангенс дуги указанного числа.

Замечания

aTan(0.36) возвращает значение 0,35.

Example

static void atanExample(Args _args)
{
    real r;
    ;
    r = atan(1.0);
    print strFmt("The Arc Tangent of 1.0 is %1", r);
    pause;
}

corrFlagGet

Извлекает состояние флага исправления для реального числа.

Синтаксис

int corrFlagGet(real arg)

Параметры

Параметр Description
arg Флаг, для которого нужно получить состояние.

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

Значение, отличное от нуля, если флаг задан; Значение 0 (ноль), если флаг очищается.

Example

В следующем примере отображается 1.

static void corrFlagGetExample(Args _args)
{
    real rr;
    rr = corrFlagSet(0.36,2);
    print(corrFlagGet(rr));
}

corrFlagSet

Управляет флагом исправления для реального числа.

Синтаксис

real corrFlagSet(real real, int arg)

Параметры

Параметр Description
real Число, в котором необходимо включить или отключить флаг исправления.
arg 0 , чтобы отключить флаг; значение, отличное от нуля, чтобы включить флаг.

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

Значение 0 , если флаг отключен; Значение, отличное от нуля, если флаг включен.

салат ромэн

Извлекает косинус реального числа.

Синтаксис

real cos(real arg)

Параметры

Параметр Description
arg Число для поиска косинуса.

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

Косинус указанного числа.

Замечания

Значение параметра arg должно находиться в радианах.

Example

В следующем примере кода отображается 0.76.

static void cosExample(Args _arg)
{
    real r;
    ;
    r = cos(15);
    print strFmt("Cos of 15 is %1", r);
    pause;
}

спокойный

Извлекает гиперболический косинус реального числа.

Замечание

Значения аргументов, которые находятся вне диапазона -250 до 250, вызывают следующую ошибку во время выполнения: "Аргумент для тригонометрической функции вне диапазона".

Синтаксис

real cosh(real arg)

Параметры

Параметр Description
arg Гиперболическое число для вычисления косинуса.

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

Гиперболический косинус указанного числа.

Замечания

Значение параметра arg должно находиться в радианах.

Example

static void coshExample(Args _arg)
{
    real r;
    ;
    r = cosh(0.1);
    print "The hyperbolic cosine of 0.1 is " + num2Str(r, 2, 2, 1, 1);
    pause;
}

decRound

Округляет число до указанного числа десятичных разрядов.

Синтаксис

real decRound(real figure, int decimals)

Параметры

Параметр Description
цифра Число для округления.
Десятичные дроби Число десятичных разрядов для округления.

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

Значение указанного числа округляется до указанного числа десятичных разрядов.

Замечания

Значение десятичного параметра может быть положительным, 0 (ноль) или отрицательным.

  • decRound(1234.6574,2) возвращает значение 1234.66.
  • decRound(1234.6574,0) возвращает значение 1235.
  • decRound(1234.6574,-2) возвращает значение 1200.
  • decRound(12345.6789,1) возвращает значение 12345,70.
  • decRound(12345.6789,-1) возвращает значение 12350,00.

эксп

Извлекает естественный антилогарифм указанного реального числа.

Синтаксис

real exp(real arg)

Параметры

Параметр Description
arg Реальное число для вычисления естественной антилогарифмы.

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

Естественный антилогарифм указанного реального числа.

Замечания

Вычисляемый естественный антилогарифм — это естественный логарифм, поднятый к власти, указанной параметром arg .

Example

static void expExample(Args _arg)
{
    real r1;
    real r2;
    ;
    r1 = exp(2.302585093);
    r2 = exp10(2.302585093);
    print strFmt("exp of 2.302585093 is %1", r1);
    print strFmt("exp10 of 230258 is %1", r2);
    pause;
}

exp10

Извлекает антилогарифм базового-10 указанного реального числа.

Синтаксис

real exp10(real decimal)

Параметры

Параметр Description
десятичная система Реальное число для вычисления антилогарифма базового-10.

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

Антилогарифм на основе 10 значений десятичного параметра.

Example

static void exp10Example(Args _arg)
{
    real r1;
    real r2;
    ;
    r1 = exp(2.302585093);
    r2 = exp10(2.302585093);
    print strFmt("exp of 2.302585093 is %1", r1);
    print strFmt("exp10 of 230258 is %1", r2);
    pause;
}

frac

Извлекает десятичную часть реального числа.

Синтаксис

real frac(real decimal)

Параметры

Параметр Description
десятичная система Реальное число, для которого извлекается десятичная часть.

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

Десятичная часть указанного числа.

Замечания

frac(12.345) возвращает значение 0,345.

log10

Извлекает 10-значный логарифм реального числа.

Синтаксис

real log10(real arg)

Параметры

Параметр Description
arg Число для вычисления логарифма.

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

Логарифм базового-10 указанного числа.

Замечания

Log10(200) возвращает значение 2.30.

logN

Извлекает естественный логарифм указанного реального числа.

Синтаксис

real logN(real arg)

Параметры

Параметр Description
arg Число для вычисления естественного логарифма.

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

Естественный логарифм указанного числа.

Замечания

logN(45) возвращает значение 3.81.

max

Извлекает большее из двух указанных значений.

anytype max(anytype object1, anytype object2)

Параметры

Параметр Description
object1 Первое значение.
object2 Второе значение.

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

Больше двух значений, указанных параметрами object1 и object2 .

Замечания

  • max(12.0,12.1) возвращает значение 12.1.
  • max(2,33) возвращает значение 33.

min

Извлекает меньшее из двух указанных значений.

anytype min(anytype object1, anytype object2)

Параметры

Параметр Description
object1 Первое значение.
object2 Второе значение.

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

Меньшее из двух значений, указанных параметрами object1 и object2 .

Замечания

min(2,33) возвращает значение 2.

Example

static void minExample(Args _arg)
{
    anytype a;
    real r = 3.0;
    real s = 2.0;

    a = min(r, s);
    print num2Str(a, 1, 2, 1, 1) + " is less than the other number.";
}

power

Вызывает реальное число к власти другого реального числа.

Синтаксис

real power(real arg, real exponent)

Параметры

Параметр Description
arg Число для вычисления мощности.
показатель Число для повышения числа, указанного параметром arg .

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

Реальное число, указанное параметром arg , в силу числа, указанного параметром экспонента .

Замечания

  • Power(5.0,2.0) возвращает значение 25.0.
  • Power(4.0,0,5) возвращает значение 2.0.

круглый

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

Синтаксис

real round(real _arg, real _decimals)

Параметры

Параметр Description
_arg Исходное число.
_Десятичные дроби Число, которое должно быть округлено значением параметра _arg до нескольких.

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

Число, которое является кратным значением, указанным параметром _decimals , и ближе всего к значению, указанному параметром _arg .

Замечания

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

Замечания

  • round(123.45,5.00) возвращает значение 125,00.
  • round(7.45,1.05) возвращает значение 7,35.
  • round(23.9,5.0) возвращает значение 25.00.
  • Round(26.1,5.0) возвращает значение 25.00.

sin

Извлекает синус реального числа.

Синтаксис

real sin(real _arg)

Параметры

Параметр Description
_arg Число для вычисления синуса.

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

Синус указанного реального числа.

Замечания

Значение параметра _arg должно находиться в радианах.

Example

static void sinExample(Args _arg)
{
    real angleDegrees = 15.0;
    real angleRadians;
    real pi = 3.14;
    real r;
    ;
    angleRadians = pi * angleDegrees / 180;
    r = sin(angleRadians);
    print "sin of a "
        + num2Str(angleDegrees, 2, 2, 1, 1)
        + " degree angle is "
        + num2Str(r, 2, 10, 1, 1);
    pause;
}

синх

Извлекает гиперболический синус реального числа.

Синтаксис

real sinh(real _arg)

Параметры

Параметр Description
_arg Число, для вычисления гиперболического синуса.

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

Гиперболический синус указанного реального числа.

Замечания

Значения параметра _arg , которые находятся вне диапазона -250 до 250, вызывают следующую ошибку во время выполнения: "Аргумент для тригонометрической функции вне диапазона".

Example

В следующем примере показана функция sinh .

static void sinhExample(Args _arg)
{
    real angleDegrees = 45.0;
    real angleRadians;
    real pi = 3.14;
    real r;
    ;
    angleRadians = pi * angleDegrees / 180;
    r = sinh(angleRadians);
    print "sinh of a "
    + num2Str(angleDegrees, 2, 2, 1, 1)
    + " degree angle is "
    + num2Str(r, 2, 15, 1, 1);
    pause;
}

загар

Извлекает тангенс реального числа.

Синтаксис

real tan(real arg)

Параметры

Параметр Description
arg Реальное число для вычисления тангенсов.

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

Тангенс указанного реального числа.

Замечания

Значения параметра arg , которые находятся за пределами -250 до 250 диапазонов, вызывают следующую ошибку времени выполнения: "Аргумент для тригонометрической функции вне диапазона".

Example

В следующем примере показана функция tan .

static void tanExample(Args _arg)
{
    real r;
    ;
    r = tan(250);
    print strFmt("Tan of 250 is %1", r);
    pause;
}

танх

Извлекает гиперболический тангенс реального числа.

Синтаксис

real tanh(real _arg)

Параметры

Параметр Description
_arg Число, для вычисления гиперболического тангена.

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

Гиперболический тангенс указанного реального числа.

Example

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

static void tanhExample(Args _arg)
{
    real r;
    ;
    r = tanh(0.1);
    print "The hyperbolic tangent of angle 0.1 is "
    + num2Str(r, 2, 10, 1, 1);
    pause;
}

усечение

Усечение реального числа путем удаления всех десятичных разрядов.

Синтаксис

real trunc(real _decimal)

Параметры

Параметр Description
_десятичный Число для усечения.

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

Число, эквивалентное значению параметра _decimal после удаления десятичных разрядов.

Замечания

Эта функция всегда округляет числа до полного целого числа.

Example

В следующем примере усечено значение 2.7147 до 2.00.

static void truncExample(Args _arg)
{
    real r;
    ;
    r = trunc(2.7147);
    print strFmt("r = %1",  r);
    pause;
}