Funciones matemáticas en tiempo de ejecución de X++

Este artículo describe las funciones matemáticas en tiempo de ejecución.

Estas funciones realizan cálculos matemáticos.

abs

Recupera el valor absoluto de un número real. Examples:

  • abs(-100.0) devuelve el valor 100.0.
  • abs(30.56) devuelve el valor 30.56.

Syntax

real abs(real arg)

Parameters

Parameter Description
arg El número para obtener el valor absoluto.

Return value

El 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 el coseno de arco de un número real.

Note

Si proporcionas valores de argumento fuera del rango de -1 a 1, la función devuelve el siguiente error en tiempo de ejecución: "Argumento para función trigonométrica fuera de rango."

Syntax

real acos(real arg)

Parameters

Parameter Description
arg El número para recuperar el coseno del arco.

Return value

El coseno de arco 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 el arcseno de un número real.

Note

Si proporcionas valores de argumento fuera del rango de -1 a 1, la función devuelve el siguiente error en tiempo de ejecución: "Argumento para función trigonométrica fuera de rango."

Syntax

real asin(real arg)

Parameters

Parameter Description
arg El número para calcular el arcsina.

Return value

El arco del número especificado.

Remarks

aSin(0.36) devuelve 0.37.

atan

Recupera el arctangente de un número real.

Syntax

real atan(real arg)

Parameters

Parameter Description
arg El número para el que se calcula la tangente del arco.

Return value

La tangente del arco del número especificado.

Remarks

aTan(0.36) devuelve 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 el estado de la marca de corrección para un número real.

Syntax

int corrFlagGet(real arg)

Parameters

Parameter Description
arg La bandera para recuperar el estado.

Return value

Un valor distinto de cero si la bandera está establecida; 0 (cero) si se elimina la bandera.

Example

En el ejemplo siguiente se muestra 1.

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

corrFlagSet

Controla la bandera de corrección de un número real.

Syntax

real corrFlagSet(real real, int arg)

Parameters

Parameter Description
real El número en el que se activa o desactiva el indicador de corrección.
arg 0 para apagar la bandera; un valor distinto de cero para activar la bandera.

Return value

0 si la bandera está desactivada; un valor distinto de cero si la bandera está activada ahora.

cos

Recupera el coseno de un número real.

Syntax

real cos(real arg)

Parameters

Parameter Description
arg El número para encontrar el coseno.

Return value

El coseno del número especificado.

Remarks

Introduce el valor del parámetro arg en radianes.

Example

En el ejemplo de código siguiente se muestra 0,76.

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

cosh

Recupera el coseno hiperbólico de un número real.

Note

Si introduces valores de argumento fuera del rango de -250 a 250, obtienes el siguiente error en tiempo de ejecución: "Argumento para función trigonométrica fuera de rango."

Syntax

real cosh(real arg)

Parameters

Parameter Description
arg El número hiperbólico para calcular el coseno.

Return value

El coseno hiperbólico del número especificado.

Remarks

Introduce el valor del parámetro arg en radianes.

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

Redondea un número al número especificado de decimales.

Syntax

real decRound(real figure, int decimals)

Parameters

Parameter Description
figure El número a redondear.
decimals El número de decimales a los que se va a redondear.

Return value

El valor del número especificado, redondeado al número especificado de decimales.

Remarks

El valor del parámetro decimals puede ser positivo, 0 (cero) o negativo.

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

exp

Recupera el antilogaritmo natural del número real especificado.

Syntax

real exp(real arg)

Parameters

Parameter Description
arg El número real para calcular el antilogaritmo natural.

Return value

El antilogaritmo natural del número real especificado.

Remarks

El antilogaritmo natural calculado es el logaritmo natural e elevado a la potencia que indica el 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 el antilogaritmo en base 10 del número real especificado.

Syntax

real exp10(real decimal)

Parameters

Parameter Description
decimal El número real para calcular el antilogaritmo de base 10.

Return value

El antilogaritmo basado en 10 del valor del 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 la parte decimal de un número real.

Syntax

real frac(real decimal)

Parameters

Parameter Description
decimal El número real para recuperar la parte decimal.

Return value

La parte decimal del número especificado.

Remarks

frac(12.345) devuelve el valor 0.345.

log10

Recupera el logaritmo en base 10 de un número real.

Syntax

real log10(real arg)

Parameters

Parameter Description
arg El número para calcular el logaritmo.

Return value

El logaritmo de base 10 del número especificado.

Remarks

log10(200) devuelve el valor 2.30.

logN

Recupera el logaritmo natural del número real especificado.

Syntax

real logN(real arg)

Parameters

Parameter Description
arg El número para calcular el logaritmo natural.

Return value

El logaritmo natural del número especificado.

Remarks

logN(45) devuelve el valor 3.81.

max

Recupera el mayor de los dos valores especificados.

anytype max(anytype object1, anytype object2)

Parameters

Parameter Description
object1 El primer valor.
object2 El segundo valor.

Return value

El valor mayor de los dos que especificas usando los parámetros object1 y object2 .

Remarks

  • max(12.0,12.1) devuelve el valor 12.1.
  • max(2,33) devuelve el valor 33.

min

Recupera el menor de los dos valores especificados.

anytype min(anytype object1, anytype object2)

Parameters

Parameter Description
object1 El primer valor.
object2 El segundo valor.

Return value

El valor más pequeño de los dos que especificas usando los parámetros object1 y object2 .

Remarks

min(2,33) devuelve el 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 un número real a la potencia de otro número real.

Syntax

real power(real arg, real exponent)

Parameters

Parameter Description
arg El número para calcular la potencia de.
exponent El número para aumentar el número que especificas usando el parámetro arg para.

Return value

El número real es el número que especificas usando el parámetro arg a la potencia del número que especificas usando el parámetro exponente .

Remarks

  • power(5.0,2.0) devuelve el valor 25.0.
  • power(4.0,0.5) devuelve el valor 2.0.

round

Redondea un número real al múltiplo más cercano de otro número real.

Syntax

real round(real _arg, real _decimals)

Parameters

Parameter Description
_arg El número original.
_decimals Número del que se debe redondear el valor del parámetro _arg a un múltiplo de.

Return value

El número que es un múltiplo del valor especificado por el parámetro _decimals y es el más cercano al valor especificado por el parámetro _arg .

Remarks

Para redondear un número real a un número especificado de decimales, use la función decround.

Remarks

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

sin

Recupera el seno de un número real.

Syntax

real sin(real _arg)

Parameters

Parameter Description
_arg El número para calcular el seno.

Return value

El seno del número real especificado.

Remarks

El valor del parámetro _arg debe estar en radianes.

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 el seno hiperbólico de un número real.

Syntax

real sinh(real _arg)

Parameters

Parameter Description
_arg El número para calcular el seno hiperbólico.

Return value

El seno hiperbólico del número real especificado.

Remarks

Los valores del parámetro _arg que están fuera del intervalo de -250 a 250 provocan el siguiente error en tiempo de ejecución: "Argumento para la función trigonométrica fuera del intervalo".

Example

El siguiente ejemplo ilustra la función 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;
}

tan

Recupera la tangente de un número real.

Syntax

real tan(real arg)

Parameters

Parameter Description
arg El número real para calcular la tangente.

Return value

La tangente del número real especificado.

Remarks

Los valores del parámetro arg que están fuera del intervalo de -250 a 250 provocan el siguiente error en tiempo de ejecución: "Argumento para la función trigonométrica fuera del intervalo".

Example

En el ejemplo siguiente se muestra la función tan .

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

tanh

Recupera la tangente hiperbólica de un número real.

Syntax

real tanh(real _arg)

Parameters

Parameter Description
_arg El número para calcular la tangente hiperbólica.

Return value

La tangente hiperbólica del número real especificado.

Example

En el ejemplo siguiente se muestra la función 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 un número real eliminando los decimales.

Syntax

real trunc(real _decimal)

Parameters

Parameter Description
_decimal El número a truncar.

Return value

Un número que es equivalente al valor del parámetro _decimal después de eliminar los decimales.

Remarks

Esta función siempre redondea los números a la baja a un entero entero.

Example

En el ejemplo siguiente se trunca de 2,7147 a 2,00.

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