Las funciones aritméticas ejecutan cálculos básicos y matemáticos sobre los valores de campo de un registro. Este tema enumera las funciones y constantes matemáticas disponibles por tipo, y describe la sintaxis, los parámetros, el valor de retorno y ejemplos de cada función.
Notas de uso
A continuación se describen las convenciones que aplican a todas las funciones aritméticas de este tema:
Familias de funciones: Las funciones cuyos nombres comienzan con
op_realizan cálculos básicos. Las funciones cuyos nombres comienzan conmat_ejecutan cálculos matemáticos.MATH_PIyMATCH_Eson constantes matemáticas que se pasan a una función como valor.Operaciones superpuestas: Algunas operaciones están disponibles en ambas familias de funciones. Por ejemplo, tanto
op_abscomomat_fabscalculan un valor absoluto. Compare el ejemplo de cada sección para observar el resultado que devuelve cada función.Tipos de entrada: La tabla de parámetros de cada sección indica los tipos que acepta un parámetro. La mayoría de los parámetros admiten un número o una cadena numérica. El parámetro
value1deop_multambién acepta una cadena, una tupla o una lista.Unidades angulares:
mat_sin,mat_cosymat_tanaceptan el valor de entrada en radianes, mientras quemat_acos,mat_asinymat_atandevuelven el resultado en radianes. Para convertir grados a radianes, utilicemat_radians. Para convertir radianes a grados, utilicemat_degrees.Ejemplos: Cada ejemplo muestra el registro sin procesar, la regla de transformación aplicada al registro y el resultado de la transformación.
Para usar un valor negativo, emplee la función op_neg(positive value). Por ejemplo, para representar -1, utilice op_neg(1).
Lista de funciones
La siguiente tabla enumera las funciones aritméticas y las constantes matemáticas por tipo.
|
Tipo |
Función |
Descripción |
|
Cálculos básicos |
op_sum |
Calcula la suma de los valores de entrada. |
|
op_abs |
Calcula el valor absoluto de un valor de entrada. |
|
|
op_div_floor |
Realiza una división entera sobre los valores de entrada. |
|
|
op_div_true |
Ejecuta una división sobre los valores de entrada. |
|
|
op_pow |
Eleva un valor a una potencia especificada. |
|
|
op_mul |
Multiplica los valores de entrada. |
|
|
op_neg |
Invierte el signo de un valor de entrada. |
|
|
op_mod |
Ejecuta una operación de módulo sobre los valores de entrada. |
|
|
op_sub |
Resta un valor de entrada de otro. |
|
|
op_round |
Redondea un valor de entrada. |
|
|
Cálculos matemáticos |
mat_ceil |
Redondea un valor de entrada hacia arriba al entero más cercano. |
|
mat_exp |
Calcula una función exponencial con base e. |
|
|
mat_fabs |
Calcula el valor absoluto de un valor de entrada. |
|
|
mat_floor |
Redondea un valor de entrada hacia abajo al entero más cercano. |
|
|
mat_log |
Calcula el logaritmo de un valor de entrada. |
|
|
mat_log10 |
Calcula el logaritmo en base 10 de un valor de entrada. |
|
|
mat_sqrt |
Calcula la raíz cuadrada de un valor de entrada. |
|
|
mat_degrees |
Convierte radianes a grados. |
|
|
mat_radians |
Convierte grados a radianes. |
|
|
mat_sin |
Calcula el seno de un valor de entrada en radianes. |
|
|
mat_cos |
Calcula el coseno de un valor de entrada en radianes. |
|
|
mat_tan |
Calcula la tangente de un valor de entrada en radianes. |
|
|
mat_acos |
Calcula el arcocoseno de un valor de entrada. El resultado se expresa en radianes. |
|
|
mat_asin |
Calcula el arcoseno de un valor de entrada. El resultado se expresa en radianes. |
|
|
mat_atan |
Calcula la arcotangente de un valor de entrada. El resultado se expresa en radianes. |
|
|
mat_atan2 |
Calcula la arcotangente de las coordenadas especificadas. |
|
|
mat_atanh |
Calcula la tangente hiperbólica inversa de un valor de entrada. |
|
|
mat_hypot |
Calcula la norma euclidiana de los valores de entrada. |
|
|
Constantes matemáticas |
MATH_PI |
La constante matemática pi. |
|
MATCH_E |
La constante matemática e. |
op_sum
Calcula la suma de los valores de entrada.
Sintaxis
op_sum(value1, value2, ...)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
value2 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
La suma de los valores de entrada.
-
Ejemplos
Calcule el precio total a partir de los campos course_price y goods_price.
Registro sin procesar
course_price: 12
goods_price: 2
Regla de transformación
e_set("total_price", op_sum(v("course_price"), v("goods_price")))
Resultado
course_price: 12
goods_price: 2
total_price: 14
op_abs
Calcula el valor absoluto de un valor de entrada.
Sintaxis
op_abs(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El valor absoluto del valor de entrada.
-
Ejemplos
Calcule el valor absoluto del campo course_price.
Registro sin procesar
course_price: -4
Regla de transformación
e_set("op_abs", op_abs(v("course_price")))
Resultado
course_price: -4
op_abs: 4
op_div_floor
Realiza una división entera sobre los valores de entrada.
Sintaxis
op_div_floor(value1, value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
value2 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
La parte entera del cociente de value1 dividido entre value2.
-
Ejemplos
Calcule el precio unitario con base en los campos course_price y count.
Registro sin procesar
course_price: 4
count: 2
Regla de transformación
e_set("op_div_floor", op_div_floor(v("course_price"), v("count")))
Resultado
course_price: 4
count: 2
op_div_floor: 2
op_div_true
Ejecuta una división sobre los valores de entrada.
Esta función convierte automáticamente los tipos de datos. Puede pasar datos de tipo cadena o entero.
Sintaxis
op_div_true(value1, value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
value2 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El cociente de value1 dividido entre value2.
-
Ejemplos
Ejemplo 1: Calcule el precio unitario con base en los campos fruit_price y count.
Registro sin procesar
fruit_price: 9
count: 2
Regla de transformación
e_set("op_div_true", op_div_true(v("fruit_price"), v("count")))
Resultado
fruit_price: 9
count: 2
op_div_true: 4.5
Ejemplo 2: Calcule la aceleración y redondee el resultado. La fórmula es
a = (one_speed-two_speed)/time.Registro sin procesar
one_speed: 9
two_speed: 2
time: 3
Regla de transformación
e_set("a", op_round(op_div_true(op_sub(v("one_speed"), v("two_speed")), v("time")), 2))
Resultado
one_speed: 9
two_speed: 2
time: 3
a: 2.33
op_pow
Eleva un valor a una potencia especificada.
Sintaxis
op_pow(value1, value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
value2 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El valor de value1 elevado a la potencia de value2.
-
Ejemplos
Calcule el valor de course elevado a la potencia de pow.
Registro sin procesar
course: 100
pow: 2
Regla de transformación
e_set("pow_course", op_pow(v("course"), v("pow")))
Resultado
course: 100
pow: 2
pow_course: 10000
op_mul
Multiplica los valores de entrada.
Sintaxis
op_mul(value1, value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número, cadena, tupla, lista, etc. |
Sí |
El valor que se va a calcular. |
|
value2 |
Número |
Sí |
El valor que se va a calcular. |
-
Respuesta
Si value1 y value2 son números, la función devuelve el producto de ambos valores.
Si value1 es una cadena, una tupla o una lista, la función devuelve un valor del mismo tipo repetido value2 veces.
-
Ejemplos
Ejemplo 1: Calcule el precio total con base en los campos course y price.
Registro sin procesar
course: 10
price: 23
Regla de transformación
e_set("total_price", op_mul(ct_int(v("course")), ct_int(v("price"))))
Resultado
course: 10
price: 23
total_price: 230
Ejemplo 2: Multiplique el valor del campo course por 3.
Registro sin procesar
course: "abc"
Regla de transformación
e_set("course", op_mul(v("course"), 3))
Resultado
course: "abcabcabc"
op_neg
Invierte el signo de un valor de entrada.
Sintaxis
op_neg(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El valor de entrada con su signo invertido.
-
Ejemplos
Registro sin procesar
course: -100
Regla de transformación
e_set("account", op_neg(v("course")))
Resultado
course: -100
account: 100
op_mod
Ejecuta una operación de módulo sobre los valores de entrada.
Sintaxis
op_mod(value1, value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
value2 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El residuo de value1 dividido entre value2.
-
Ejemplos
Registro sin procesar
course: 4
count: 3
Regla de transformación
e_set("op_mod", op_mod(v("course"), v("count")))
Resultado
course: 4
count: 3
op_mod: 1
op_sub
Resta un valor de entrada de otro.
Sintaxis
op_sub(value1, value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
value2 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El resultado de value1 menos value2.
-
Ejemplos
Calcule el resultado de restar el valor de count_apple al valor de count.
Registro sin procesar
count: 6
count_apple: 3
Regla de transformación
e_set("sub_number", op_sub(v("count"),v("count_apple")))
Resultado
count: 6
count_apple: 3
sub_number: 3
op_round
Redondea un valor de entrada.
Sintaxis
op_round(value, number)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
number |
Número |
Sí |
La cantidad de decimales que se conservarán después del redondeo. El valor predeterminado es 0. |
-
Respuesta
El valor redondeado.
-
Ejemplos
Redondee el valor del campo price a un decimal.
Registro sin procesar
price: 4.56
Regla de transformación
e_set("round_price", op_round(v("price"),1))
Resultado
price: 4.56
round_price: 4.6
mat_ceil
Redondea un valor de entrada hacia arriba al entero más cercano.
Sintaxis
mat_ceil(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El entero más pequeño que es mayor o igual que el valor especificado.
-
Ejemplos
Registro sin procesar
price: 4.1
Regla de transformación
e_set("mat_ceil", mat_ceil(v("price")))
Resultado
price: 4.1
mat_ceil: 5
mat_exp
Calcula una función exponencial con base e.
Sintaxis
mat_exp(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
e elevado a la potencia del valor de entrada.
-
Ejemplos
Registro sin procesar
number: 2
Regla de transformación
e_set("e_x", mat_exp(v("number")))
Resultado
number: 2
e_x: 7.38905609893065
mat_fabs
Calcula el valor absoluto de un valor de entrada.
Sintaxis
mat_fabs(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El valor absoluto del valor de entrada.
-
Ejemplos
Registro sin procesar
course_price: -10
Regla de transformación
e_set("mat_fabs", mat_fabs(v("course_price")))
Resultado
course_price: -10
mat_fabs: 10.0
mat_floor
Redondea un valor de entrada hacia abajo al entero más cercano.
Sintaxis
mat_floor(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El entero más grande que es menor o igual que el valor especificado.
-
Ejemplos
Registro sin procesar
course_price: 4.9
Regla de transformación
e_set("mat_floor", mat_floor(v("course_price")))
Resultado
course_price: 4.9
mat_floor: 4
mat_log
Calcula el logaritmo de un valor de entrada.
Sintaxis
mat_log(value1,value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
|
value2 |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El logaritmo del valor de entrada.
-
Ejemplos
Registro sin procesar
number1: 100
number2: 10
Regla de transformación
e_set("mat_log", mat_log(v("number1"),v("number2")))
Resultado
number1: 100
number2: 10
mat_log: 2.0
mat_log10
Calcula el logaritmo en base 10 de un valor de entrada.
Sintaxis
mat_log10(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El logaritmo en base 10 del valor de entrada.
-
Ejemplos
Registro sin procesar
number: 100
Regla de transformación
e_set("number2", mat_log10(v("number")))
Resultado
number: 100
number2: 2.0
mat_sqrt
Calcula la raíz cuadrada de un valor de entrada.
Sintaxis
mat_sqrt(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
La raíz cuadrada del valor de entrada.
-
Ejemplos
Registro sin procesar
number1: 100
Regla de transformación
e_set("sqrt_account", mat_sqrt(v("number1")))
Resultado
number1: 100
sqrt_account: 10.0
mat_degrees
Convierte radianes a grados.
Sintaxis
mat_degrees(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El resultado en grados.
-
Ejemplos
Registro sin procesar
num: 1
Regla de transformación
e_set("mat_degrees", mat_degrees(v("num")))
Resultado
num: 1
mat_degrees: 57.29577951308232
mat_radians
Convierte grados a radianes.
Sintaxis
mat_radians(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El resultado en radianes.
-
Ejemplos
Registro sin procesar
rad: 30
Regla de transformación
e_set("mat_radians", mat_radians(v("rad")))
Resultado
rad: 30
mat_radians: 0.5235987755982988
mat_sin
Calcula el seno de un valor de entrada en radianes.
Sintaxis
mat_sin(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El seno del valor de entrada.
-
Ejemplos
Registro sin procesar
sin: 90
Regla de transformación
e_set("mat_sin", mat_sin(v("sin")))
Resultado
sin: 90
mat_sin: 0.8939966636005579
mat_cos
Calcula el coseno de un valor de entrada en radianes.
Sintaxis
mat_cos(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El coseno del valor de entrada.
-
Ejemplos
Registro sin procesar
cos: 30
Regla de transformación
e_set("mat_cos", mat_cos(v("cos")))
Resultado
cos: 30
mat_cos: 0.15425144988758405
mat_tan
Calcula la tangente de un valor de entrada en radianes.
Sintaxis
mat_tan(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
La tangente del valor de entrada.
-
Ejemplos
Registro sin procesar
tan: 30
Regla de transformación
e_set("mat_tan", mat_tan(v("tan")))
Resultado
tan: 30
mat_tan: 1.6197751905438615
mat_acos
Calcula el arcocoseno de un valor de entrada. El resultado se expresa en radianes.
Sintaxis
mat_acos(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El arcocoseno del valor de entrada, en radianes.
-
Ejemplos
Registro sin procesar
acos: 1
Regla de transformación
e_set("mat_acos", mat_acos(v("acos")))
Resultado
acos: 1
mat_acos: 0.0
mat_asin
Calcula el arcoseno de un valor de entrada. El resultado se expresa en radianes.
Sintaxis
mat_asin(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
El arcoseno del valor de entrada, en radianes.
-
Ejemplos
Registro sin procesar
asin: 1
Regla de transformación
e_set("mat_asin", mat_asin(v("asin")))
Resultado
asin: 1
mat_asin: 1.5707963267948966
mat_atan
Calcula la arcotangente de un valor de entrada. El resultado se expresa en radianes.
Sintaxis
mat_atan(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
La arcotangente del valor de entrada, en radianes.
-
Ejemplos
Registro sin procesar
atan: 1
Regla de transformación
e_set("mat_atan", mat_atan(v("atan")))
Resultado
atan: 1
mat_atan: 0.7853981633974483
mat_atan2
Calcula la arcotangente de las coordenadas especificadas.
Sintaxis
mat_atan2(x,y)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
x |
Número o cadena (numérica) |
Sí |
La coordenada x. |
|
y |
Número o cadena (numérica) |
Sí |
La coordenada y. |
-
Respuesta
La arcotangente de las coordenadas especificadas.
-
Ejemplos
Registro sin procesar
atan1: 1
atan2: 2
Regla de transformación
e_set("mat_atan2", mat_atan2(v("atan1"),v("atan2")))
Resultado
atan1: 1
atan2: 2
mat_atan2: 0.4636476090008061
mat_atanh
Calcula la tangente hiperbólica inversa de un valor de entrada.
Sintaxis
mat_atanh(value)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value |
Número o cadena (numérica) |
Sí |
El valor que se va a calcular. |
-
Respuesta
La tangente hiperbólica inversa del valor de entrada.
-
Ejemplos
Registro sin procesar
atanh: 0.5
Regla de transformación
e_set("mat_atanh", mat_atanh(v("atanh")))
Resultado
atanh: 0.5
mat_atanh: 0.5493061443340548
mat_hypot
Calcula la norma euclidiana de los valores de entrada.
Sintaxis
mat_hypot(value1,value2)
Parámetros
|
Nombre del parámetro |
Tipo de parámetro |
Obligatorio |
Descripción |
|
value1 |
Número o cadena (numérica) |
Sí |
La coordenada x. |
|
value2 |
Número o cadena (numérica) |
Sí |
La coordenada y. |
-
Respuesta
La norma euclidiana de los valores de entrada.
-
Ejemplos
Registro sin procesar
hypot1: 1
hypot2: 2
Regla de transformación
e_set("mat_hypot", mat_hypot(v("hypot1"),v("hypot2")))
Resultado
hypot1: 1
hypot2: 2
mat_hypot: 2.23606797749979
MATH_PI
La constante matemática pi.
Registro sin procesar
a: 2
Regla de transformación
e_set("result", op_sum(v("a"), MATH_PI))
Resultado
a: 2
result: 5.141592653589793
MATCH_E
La constante matemática e.
Registro sin procesar
a: 2
Regla de transformación
e_set("result", op_sum(v("a"), MATCH_E))
Resultado
a: 2
result: 4.718281828459045