Partilhar via


Funções X++ de tempo de execução de cálculo

Observação

Os grupos de interesse da comunidade passaram do Yammer para o Microsoft Viva Engage. Para participar de uma comunidade Viva Engage e participar das últimas discussões, preencha o formulário Solicitar acesso ao Finance and Operations Viva Engage Community e escolha a comunidade à qual deseja participar.

Este artigo descreve as funções matemáticas de tempo de execução.

Estas funções executam cálculos matemáticos.

ABS

Recupera o valor absoluto de um número real. Examples:

  • abs(-100.0) retorna o valor 100.0.
  • abs(30.56) retorna o valor 30.56.

Sintaxe

real abs(real arg)

Parâmetros

Parâmetro Description
argumento O número para obter o valor absoluto de.

Valor de retorno

O valor absoluto de 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

Recupera o arco cosseno de um número real.

Observação

Os valores de argumento que estão fora do intervalo de -1 a 1 causam o seguinte erro em tempo de execução: "Argumento para função trigonométrica fora do intervalo."

Sintaxe

real acos(real arg)

Parâmetros

Parâmetro Description
argumento O número para recuperar o cosseno do arco.

Valor de retorno

O arco cosseno de 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

Recupera o seno do arco de um número real.

Observação

Os valores de argumento que estão fora do intervalo de -1 a 1 causam o seguinte erro em tempo de execução: "Argumento para função trigonométrica fora do intervalo."

Sintaxe

real asin(real arg)

Parâmetros

Parâmetro Description
argumento O número para calcular o seno do arco.

Valor de retorno

O seno do arco do número especificado.

Observações

aSin(0,36) retorna 0,37.

Atan

Recupera a tangente do arco de um número real.

Sintaxe

real atan(real arg)

Parâmetros

Parâmetro Description
argumento O número para calcular a tangente do arco.

Valor de retorno

A tangente do arco do número especificado.

Observações

aTan(0.36) retorna 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

Recupera o estado do sinalizador de correção para um número real.

Sintaxe

int corrFlagGet(real arg)

Parâmetros

Parâmetro Description
argumento A bandeira para recuperar o estado para.

Valor de retorno

Um valor diferente de zero se o sinalizador estiver definido; 0 (zero) se o sinalizador estiver limpo.

Example

O exemplo a seguir exibe 1.

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

corrFlagSet

Controla o sinalizador de correção para um número real.

Sintaxe

real corrFlagSet(real real, int arg)

Parâmetros

Parâmetro Description
real O número no qual ativar ou desativar o sinalizador de correção.
argumento 0 para desligar a bandeira; Um valor diferente de zero para ativar o sinalizador.

Valor de retorno

0 se a bandeira estiver agora desligada; um valor diferente de zero se o sinalizador estiver ativado.

cos

Recupera o cosseno de um número real.

Sintaxe

real cos(real arg)

Parâmetros

Parâmetro Description
argumento O número para encontrar o cosseno para.

Valor de retorno

O cosseno do número especificado.

Observações

O valor do parâmetro arg deve estar em radianos.

Example

O exemplo de código a seguir exibe 0.76.

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

Cosh

Recupera o cosseno hiperbólico de um número real.

Observação

Os valores de argumento que estão fora do intervalo de -250 a 250 causam o seguinte erro em tempo de execução: "Argumento para função trigonométrica fora do intervalo."

Sintaxe

real cosh(real arg)

Parâmetros

Parâmetro Description
argumento O número hiperbólico para calcular o cosseno para.

Valor de retorno

O cosseno hiperbólico do número especificado.

Observações

O valor do parâmetro arg deve estar em radianos.

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

Arredonda um número para o número especificado de casas decimais.

Sintaxe

real decRound(real figure, int decimals)

Parâmetros

Parâmetro Description
figura Número a arredondar.
decimais O número de casas decimais para o qual arredondar.

Valor de retorno

O valor do número especificado, arredondado para o número especificado de casas decimais.

Observações

O valor do parâmetro decimals pode ser positivo, 0 (zero) ou negativo.

  • decRound(1234.6574,2) retorna o valor 1234.66.
  • decRound(1234.6574,0) retorna o valor 1235.
  • decRound(1234.6574,-2) retorna o valor 1200.
  • decRound(12345.6789,1) retorna o valor 12345.70.
  • decRound(12345.6789,-1) retorna o valor 12350.00.

exp

Recupera o antilogaritmo natural do número real especificado.

Sintaxe

real exp(real arg)

Parâmetros

Parâmetro Description
argumento O número real para calcular o antilogaritmo natural.

Valor de retorno

O antilogaritmo natural do número real especificado.

Observações

O antilogaritmo natural calculado é o logaritmo natural e elevado à potência indicada pelo parâmetro 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

Recupera o antilogaritmo de base 10 do número real especificado.

Sintaxe

real exp10(real decimal)

Parâmetros

Parâmetro Description
decimal O número real para calcular o antilogaritmo de base 10.

Valor de retorno

O antilogaritmo baseado em 10 do valor do parâmetro decimal .

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

Recupera a parte decimal de um número real.

Sintaxe

real frac(real decimal)

Parâmetros

Parâmetro Description
decimal O número real para recuperar a parte decimal.

Valor de retorno

A parte decimal do número especificado.

Observações

frac(12.345) retorna o valor 0.345.

Log10

Recupera o logaritmo de 10 dígitos de um número real.

Sintaxe

real log10(real arg)

Parâmetros

Parâmetro Description
argumento O número para calcular o logaritmo.

Valor de retorno

O logaritmo de base 10 do número especificado.

Observações

log10(200) retorna o valor 2.30.

LogN

Recupera o logaritmo natural do número real especificado.

Sintaxe

real logN(real arg)

Parâmetros

Parâmetro Description
argumento O número para calcular o logaritmo natural.

Valor de retorno

O logaritmo natural do número especificado.

Observações

logN(45) retorna o valor 3.81.

max

Recupera o maior de dois valores especificados.

anytype max(anytype object1, anytype object2)

Parâmetros

Parâmetro Description
objeto1 O primeiro valor.
objeto2 O segundo valor.

Valor de retorno

O maior dos dois valores especificados pelos parâmetros object1 e object2 .

Observações

  • max(12.0,12.1) retorna o valor 12.1.
  • max(2,33) devolve o valor 33.

min

Recupera o menor de dois valores especificados.

anytype min(anytype object1, anytype object2)

Parâmetros

Parâmetro Description
objeto1 O primeiro valor.
objeto2 O segundo valor.

Valor de retorno

O menor dos dois valores especificados pelos parâmetros object1 e object2 .

Observações

min(2,33) devolve o valor 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

Eleva um número real ao poder de outro número real.

Sintaxe

real power(real arg, real exponent)

Parâmetros

Parâmetro Description
argumento O número para calcular a potência de.
expoente O número para aumentar o número especificado pelo parâmetro arg .

Valor de retorno

O número real que é o número especificado pelo parâmetro arg para a potência do número especificado pelo parâmetro expoente .

Observações

  • power(5.0,2.0) retorna o valor 25.0.
  • power(4.0,0.5) retorna o valor 2.0.

arrendondar

Arredonda um número real para o múltiplo mais próximo de outro número real.

Sintaxe

real round(real _arg, real _decimals)

Parâmetros

Parâmetro Description
_arg O número original.
_decimals O número que o valor do parâmetro _arg deve ser arredondado para um múltiplo de.

Valor de retorno

O número que é um múltiplo do valor especificado pelo parâmetro _decimals e está mais próximo do valor especificado pelo parâmetro _arg .

Observações

Para arredondar um número real para um número especificado de casas decimais, use a função decround.

Observações

  • round(123.45,5.00) retorna o valor 125.00.
  • round(7.45,1.05) retorna o valor 7.35.
  • round(23.9,5.0) retorna o valor 25.00.
  • round(26.1,5.0) retorna o valor 25.00.

pecado

Recupera o seno de um número real.

Sintaxe

real sin(real _arg)

Parâmetros

Parâmetro Description
_arg O número para calcular o seno para.

Valor de retorno

O seno do número real especificado.

Observações

O valor do parâmetro _arg deve estar em radianos.

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;
}

Sinh

Recupera o seno hiperbólico de um número real.

Sintaxe

real sinh(real _arg)

Parâmetros

Parâmetro Description
_arg O número para calcular o seno hiperbólico para.

Valor de retorno

O seno hiperbólico do número real especificado.

Observações

Os valores para o parâmetro _arg que estão fora do intervalo de -250 a 250 causam o seguinte erro em tempo de execução: "Argumento para função trigonométrica fora do intervalo."

Example

O exemplo a seguir ilustra a função 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;
}

bronzeado

Recupera a tangente de um número real.

Sintaxe

real tan(real arg)

Parâmetros

Parâmetro Description
argumento O número real para calcular a tangente.

Valor de retorno

A tangente do número real especificado.

Observações

Os valores para o parâmetro arg que estão fora do intervalo de -250 a 250 causam o seguinte erro em tempo de execução: "Argumento para função trigonométrica fora do intervalo."

Example

O exemplo a seguir ilustra a função tan .

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

Tanh

Recupera a tangente hiperbólica de um número real.

Sintaxe

real tanh(real _arg)

Parâmetros

Parâmetro Description
_arg O número para calcular a tangente hiperbólica.

Valor de retorno

A tangente hiperbólica do número real especificado.

Example

O exemplo a seguir ilustra a função tanh .

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;
}

trunc

Trunca um número real removendo todas as casas decimais.

Sintaxe

real trunc(real _decimal)

Parâmetros

Parâmetro Description
_decimal O número a truncar.

Valor de retorno

Um número equivalente ao valor do parâmetro _decimal após a remoção das casas decimais.

Observações

Esta função arredonda sempre os números para baixo para um número inteiro completo.

Example

O exemplo a seguir trunca de 2,7147 a 2,00.

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