Este tópico descreve a sintaxe e os parâmetros das funções aritméticas, além de apresentar exemplos de uso.
Funções
Para passar um número inteiro negativo, utilize
op_neg(Inteiro positivo)
. Por exemplo, use
op_neg(1)
para representar
-1
.
| Categoria | Função | Descrição |
| Cálculo de soma | op_sum | Retorna a soma dos valores de entrada. |
| Cálculo básico | op_abs | Retorna o valor absoluto de um valor de entrada. |
| op_div_floor | Retorna a parte inteira do quociente de dois valores de entrada. | |
| op_div_true | Retorna o quociente de dois valores de entrada. | |
| op_pow | Retorna um valor elevado a uma potência especificada. | |
| op_mul | Retorna o produto de dois valores de entrada. | |
| op_neg | Retorna o oposto de um valor de entrada. | |
| op_mod | Retorna o resto da divisão de um valor de entrada por outro. | |
| op_sub | Retorna a diferença entre dois valores de entrada. | |
| op_round | Arredonda um valor de entrada. | |
| Cálculo matemático | mat_ceil | Arredonda um valor de entrada para cima até o inteiro mais próximo. |
| mat_exp | Retorna o número de Euler elevado à potência de um valor de entrada. | |
| mat_fabs | Retorna o valor absoluto de um valor de entrada. | |
| mat_floor | Arredonda um valor de entrada para baixo até o inteiro mais próximo. | |
| mat_log | Retorna o logaritmo de um valor de entrada com a base especificada pelo outro valor de entrada. | |
| mat_log10 | Retorna o logaritmo na base 10 de um valor de entrada. | |
| mat_sqrt | Retorna a raiz quadrada de um valor de entrada. | |
| mat_degrees | Converte radianos em graus. | |
| mat_radians | Converte graus em radianos. | |
| mat_sin | Retorna o seno de um valor de entrada em radianos. | |
| mat_cos | Retorna o cosseno de um valor de entrada em radianos. | |
| mat_tan | Retorna a tangente de um valor de entrada em radianos. | |
| mat_acos | Retorna o arco cosseno de um valor de entrada em radianos. | |
| mat_asin | Retorna o arco seno de um valor de entrada em radianos. | |
| mat_atan | Retorna o arco tangente de um valor de entrada em radianos. | |
| mat_atan2 | Retorna o arco tangente das coordenadas X e Y. | |
| mat_atanh | Retorna a tangente hiperbólica inversa de um valor de entrada. | |
| mat_hypot | Retorna a norma euclidiana de dois valores de entrada. | |
| MATH_PI | Obtém a constante pi. | |
| MATCH_E | Obtém a constante e. |
op_sum
Retorna a soma dos valores de entrada.
-
op_sum(value1, value2, ...) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
Valor usado no cálculo.
value2
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna a soma de todos os valores de entrada.
-
Calcule a soma dos valores dos campos course_price e goods_price.
-
Log bruto:
course_price: 12 goods_price: 2 -
Regra de transformação:
e_set("account", op_sum(v("course_price"), v("goods_price"))) -
Resultado:
course_price: 12 goods_price: 2 account: 14
-
op_abs
Retorna o valor absoluto de um valor de entrada.
-
op_abs(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o valor absoluto da entrada.
-
Calcule o valor absoluto do campo course_price.
-
Log bruto:
course_price: -4 -
Regra de transformação:
e_set("op_abs", op_abs(v("course_price"))) -
Resultado:
course_price: -4 op_abs: 4
-
op_div_floor
Retorna a parte inteira do quociente de dois valores de entrada.
-
op_div_floor(value1, value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
Valor usado no cálculo.
value2
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna a parte inteira do quociente da divisão do Valor 1 pelo Valor 2.
-
Calcule o preço unitário com base nos valores dos campos course_price e count.
-
Log bruto:
course_price: 4 count: 2 -
Regra de transformação:
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
Calcula o quociente de dois valores de entrada.
A função op_div_true converte automaticamente os tipos de dados dos valores de entrada. O valor de entrada pode ser uma string ou um número inteiro.
-
op_div_true(value1, value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
Valor usado no cálculo.
value2
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o quociente da divisão do Valor 1 pelo Valor 2.
-
-
Exemplo 1: Calcule o preço unitário com base nos valores dos campos fruit_price e count.
-
Log bruto:
fruit_price: 9 count: 2 -
Regra de transformação:
e_set("op_div_true", op_div_true(v("fruit_price"), v("count"))) -
Resultado:
fruit_price: 9 count: 2 op_div_true: 4.5
-
-
Exemplo 2: Calcule a aceleração com base nos valores dos campos one_speed e two_speed. O valor retornado é arredondado. Fórmula:
a = (one_speed - two_speed)/time.-
Log bruto:
one_speed: 9 two_speed: 2 time: 3 -
Regra de transformação:
e_set("a", op_round(op_div_true(op_sub(v("one_speed"), v("two_speed")), v("time")), 2)) -
Resultado:
a:2.33 one_speed:9 time:3 two_speed:2
-
-
op_pow
Retorna um valor elevado a uma potência especificada.
-
op_pow(value1, value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
Valor usado no cálculo.
value2
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o Valor 1 elevado à potência do Valor 2.
-
Eleve o valor do campo course à potência definida pelo valor do campo pow.
-
Log bruto:
course: 100 pow: 2 -
Regra de transformação:
e_set("pow_course", op_pow(v("course"), v("pow"))) -
Resultado:
course: 100 pow: 2 pow_course: 10000
-
op_mul
Retorna o produto de dois valores de entrada.
-
op_mul(value1, value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número, string, tupla ou lista
Sim
Valor usado no cálculo.
value2
Número
Sim
Valor usado no cálculo.
-
Se o Valor 1 e o Valor 2 forem números, retorna o produto deles.
Se o Valor 1 e o Valor 2 forem strings, tuplas ou listas, retorna o número especificado de repetições do valor original.
-
-
Exemplo 1: Calcule o produto dos valores dos campos course e price.
-
Log bruto:
course: 10 price: 23 -
Regra de transformação:
e_set("account", op_mul(ct_int(v("course")), ct_int(v("price")))) -
Resultado:
course: 10 price: 23 account: 230
-
-
Exemplo 2: Retorne três repetições do valor original do campo course.
-
Log bruto:
course: "abc" -
Regra de transformação:
e_set("course", op_mul(v("course"), 3)) -
Resultado:
course: "abcabcabc"
-
-
op_neg
Retorna o oposto de um valor de entrada.
-
op_neg(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o oposto do valor de entrada.
-
-
Log bruto:
course: -100 -
Regra de transformação:
e_set("account", op_neg(v("course_price"))) -
Resultado:
course: -100 account: 100
-
op_mod
Retorna o resto da divisão de um valor de entrada por outro.
-
op_mod(value1, value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
Valor usado no cálculo.
value2
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o resto da divisão do Valor 1 pelo Valor 2.
-
-
Log bruto:
course: 4 count: 3 -
Regra de transformação:
e_set("op_mod", op_mod(v("course"), v("count"))) -
Resultado:
course: 4 count: 3 op_mod: 1
-
op_sub
Retorna a diferença entre dois valores de entrada.
-
op_sub(value1, value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
Valor usado no cálculo.
value2
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna a diferença entre o Valor 1 e o Valor 2.
-
Calcule a diferença entre os valores dos campos count e count_apple.
-
Log bruto:
count: 6 count_apple: 3 -
Regra de transformação:
e_set("sub_number", op_sub(v("count"),v("count_apple"))) -
Resultado:
count: 6 count_apple: 3 sub_number: 3
-
op_round
Arredonda um valor de entrada.
-
op_round(value, number) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
number
Número
Sim
Número de casas decimais para arredondamento. Valor padrão: 0.
Retorna o valor de entrada arredondado.
-
Arredonde o valor do campo price para uma casa decimal.
-
Log bruto:
price: 4.56 -
Regra de transformação:
e_set("round_price", op_round(v("price"),1)) -
Resultado:
price: 4.56 round_price: 4.6
-
mat_ceil
Arredonda um valor de entrada para cima até o inteiro mais próximo.
-
mat_ceil(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o menor inteiro maior ou igual ao valor de entrada.
-
-
Log bruto:
price: 4.1 -
Regra de transformação:
e_set("mat_ceil", mat_ceil(v("price"))) -
Resultado:
price: 4.1 mat_ceil: 5
-
mat_exp
Calcula o número de Euler elevado à potência de um valor de entrada.
-
mat_exp(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o número de Euler elevado à potência do valor de entrada.
-
-
Log bruto:
number: 2 -
Regra de transformação:
e_set("e_x", mat_exp(v("number"))) -
Resultado:
number: 1 e_x: 7.38905609893065
-
mat_fabs
Retorna o valor absoluto de um valor de entrada.
-
mat_fabs(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o valor absoluto da entrada.
-
-
Log bruto:
course_price: -10 -
Regra de transformação:
e_set("mat_fabs", mat_fabs(v("course_price"))) -
Resultado:
course_price: -10 mat_fabs: 10.0
-
mat_floor
Arredonda um valor de entrada para baixo até o inteiro mais próximo.
-
mat_floor(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o maior inteiro menor ou igual ao valor de entrada.
-
-
Log bruto:
course_price: 4.9 -
Regra de transformação:
e_set("mat_floor", mat_floor(v("course_price"))) -
Resultado:
course_price: 4.9 mat_floor: 4
-
mat_log
Retorna o logaritmo de um valor de entrada com a base especificada pelo outro valor de entrada.
-
mat_log(value1,value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
Valor usado no cálculo.
value2
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o logaritmo do Valor 1 na base do Valor 2.
-
-
Log bruto:
number1: 100 number2: 10 -
Regra de transformação:
e_set("mat_log", mat_log(v("number1"),v("number2"))) -
Resultado:
number1: 100 number2: 10 mat_log: 2.0
-
mat_log10
Retorna o logaritmo na base 10 de um valor de entrada.
-
mat_log10(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o logaritmo na base 10 da entrada.
-
-
Log bruto:
number: 100 -
Regra de transformação:
e_set("number2", mat_log10(v("number"))) -
Resultado:
number: 100 numbe2: 2.0
-
mat_sqrt
Retorna a raiz quadrada de um valor de entrada.
-
mat_sqrt(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna a raiz quadrada da entrada.
-
-
Log bruto:
number1: 100 -
Regra de transformação:
e_set("sqrt_account", mat_sqrt(v("number1"))) -
Resultado:
number1: 100 sqrt_account: 10.0
-
mat_degrees
Converte radianos em graus.
-
mat_degrees(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o valor em graus.
-
-
Log bruto:
num: 1 -
Regra de transformação:
e_set("mat_degrees", mat_degrees(v("num"))) -
Resultado:
num: 1 mat_degrees: 57.29577951308232
-
mat_radians
Converte graus em radianos.
-
mat_radians(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o valor em radianos.
-
-
Log bruto:
rad: 30 -
Regra de transformação:
e_set("mat_radians", mat_radians(v("rad"))) -
Resultado:
rad: 30 mat_radians: 0.5235987755982988
-
mat_sin
Retorna o seno de um valor de entrada em radianos.
-
mat_sin(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o seno da entrada.
-
-
Log bruto:
sin: 90 -
Regra de transformação:
e_set("mat_sin", mat_sin(v("sin"))) -
Resultado:
sin: 90 mat_sin: 0.8939966636005579
-
mat_cos
Retorna o cosseno de um valor de entrada em radianos.
-
mat_cos(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o cosseno da entrada.
-
-
Log bruto:
cos: 30 -
Regra de transformação:
e_set("mat_cos", mat_cos(v("cos"))) -
Resultado:
cos: 30 mat_cos: 0.15425144988758405
-
mat_tan
Retorna a tangente de um valor de entrada em radianos.
-
mat_tan(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna a tangente da entrada.
-
-
Log bruto:
tan: 30 -
Regra de transformação:
e_set("mat_tan", mat_tan(v("tan"))) -
Resultado:
tan: 30 mat_tan: 1.6197751905438615
-
mat_acos
Retorna o arco cosseno de um valor de entrada em radianos.
-
mat_acos(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o arco cosseno da entrada.
-
-
Log bruto:
acos: 1 -
Regra de transformação:
e_set("mat_acos", mat_acos(v("acos"))) -
Resultado:
acos: 1 mat_acos: 0.0
-
mat_asin
Retorna o arco seno de um valor de entrada em radianos.
-
mat_asin(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o arco seno da entrada.
-
-
Log bruto:
asin: 1 -
Regra de transformação:
e_set("mat_asin", mat_asin(v("asin"))) -
Resultado:
asin: 1 mat_asin: 1.5707963267948966
-
mat_atan
Retorna o arco tangente de um valor de entrada em radianos.
-
mat_atan(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
Valor usado no cálculo.
Retorna o arco tangente da entrada.
-
-
Log bruto:
atan: 1 -
Regra de transformação:
e_set("mat_atan", mat_atan(v("atan"))) -
Resultado:
atan: 1 mat_atan: 0.7853981633974483
-
mat_atan2
Retorna o arco tangente das coordenadas X e Y.
-
mat_atan2(x,y) -
Parâmetro
Tipo
Obrigatório
Descrição
x
Número ou string numérica
Sim
Coordenada X.
y
Número ou string numérica
Sim
Coordenada Y.
Retorna o arco tangente das coordenadas X e Y.
-
-
Log bruto:
atan1: 1 atan2: 2 -
Regra de transformação:
e_set("mat_atan2", mat_atan2(v("atan1"),v("atan2"))) -
Resultado:
atan1: 1 atan2: 2 mat_atan2: 0.4636476090008061
-
mat_atanh
Retorna a tangente hiperbólica inversa de um valor de entrada.
-
mat_atanh(value) -
Parâmetro
Tipo
Obrigatório
Descrição
value
Número ou string numérica
Sim
A coordenada X.
Retorna a tangente hiperbólica inversa da entrada.
-
-
Log bruto:
atanh: 0.5 -
Regra de transformação:
e_set("mat_atanh", mat_atanh(v("atanh"))) -
Resultado:
atanh:0.5 mat_atanh:0.5493061443340548
-
mat_hypot
Retorna a norma euclidiana de dois valores de entrada.
-
mat_hypot(value1,value2) -
Parâmetro
Tipo
Obrigatório
Descrição
value1
Número ou string numérica
Sim
A coordenada X.
value2
Número ou string numérica
Sim
A coordenada Y.
Retorna a norma euclidiana dos valores de entrada.
-
-
Log bruto:
hypot1: 1 hypot2: 2 -
Regra de transformação:
e_set("mat_hypot", mat_hypot(v("hypot1"),v("hypot2"))) -
Resultado:
hypot1:1 hypot2:2 mat_hypot:2.23606797749979
-
MATH_PI
Obtém a constante pi.
-
Log bruto:
a:2 -
Regra de transformação:
e_set("result", op_sum(v("a"), MATH_PI)) -
Resultado:
a:2 result:5.141592653589793
MATCH_E
Obtém a constante e.
-
Log bruto:
a:2 -
Regra de transformação:
e_set("result", op_sum(v("a"), MATCH_E)) -
Resultado:
a:2 result:4.718281828459045