Funciones numéricas
Esta sección contiene breves descripciones de las funciones que se aplican a valores de tipo flotante o entero.
Función | Qué hace |
---|---|
abs | Devuelve el valor absoluto de la función numérica. |
bitor, bitand, bitnot | Permite la manipulación booleana de los bits. |
convert | Convierte un número en otro tipo de dato o convierte otro tipo de dato en un número. |
err_encode | Convierte una tupla de error de FileNet P8 de tres partes en un entero de una única parte. |
int | Trunca todo lo que hay después de la coma del decimal y devuelve el valor entero de una expresión numérica. |
max | Devuelve el mayor valor de una lista de expresiones de cualquier tipo de dato admitido. |
min | Devuelve el mayor valor de una lista de expresiones de cualquier tipo de dato admitido. |
mod | Devuelve el resto tras la división (módulo). |
numbertostring | Convierte una expresión numérica en una expresión de serie, utilizando una máscara especificada. |
random | Devuelve un entero aleatorio dentro de un intervalo especificado. |
sizeof | Devuelve el tamaño de una matriz. |
abs
abs (num_expr)
donde
num_exp es una expresión cuyo resultado es de tipo entero o flotante.
Por ejemplo:abs (SalePrice - PurchasePrice)
bitand, bitor y bitnot
Estas funciones permiten la manipulación booleana de los bits; utilícelas para realizar diversas tareas como, por ejemplo, la configuración de máscaras y la extracción de bits. Cada una de estas funciones puede llevar a cabo operaciones booleanas en hasta 32 elementos al mismo tiempo.
Si está familiarizado con el lenguaje de programación 'C', bitand, bitor y bitnot equivalen a 'logical and' (&), 'logical or' (|) y 'logical not' (~), respectivamente. Si no está familiarizado con 'C', considere los números como valores binarios (por ejemplo, 123 sería 1111011).
bitand (expr1, expr2)
bitor (expr1, expr2)
bitnot (expr)
donde expr1 y expr2 son enteros de 32 bits.bitand
- Si los dos enteros contienen un 1 en la misma posición, el entero resultante también contiene un 1 en esa posición.
- Si los dos enteros contienen un 0 en la misma posición, el entero resultante también contiene un 0 en esa posición.
- Si un entero contiene un 1 y el otro entero contiene un 0 en la misma posición, el entero resultante contiene un 0 en esa posición.
bitand
(00000000000000000000000001111011,
00000000000000000000000011110000)
results in:
00000000000000000000000001110000
bitor
- Si uno de los enteros contiene un 1 en la misma posición, el entero resultante también contiene un 1 en esa posición.
- Si los dos enteros contienen un 0 en la misma posición, el entero resultante también contiene un 0 en esa posición.
bitor (00000000000000000000000001111011,
00000000000000000000000011110000)
results in:
00000000000000000000000011111011
bitnot
La función bitnot "nots" un entero; el resultado de este análisis bit a bit es la salida para un nuevo entero. Para cada posición, el nuevo entero contiene el valor-significado de bit opuesto; por ejemplo, si el entero de entrada contiene un 1 en una posición determinada, el nuevo entero contiene un 0 en la misma posición.
bitnot (00000000000000000000000001111011
results in:
11111111111111111111111110000100
int
Esta función computa el valor entero de una expresión flotante truncando todo lo que aparece después de la coma del decimal. Por ejemplo, los valores flotantes 6,2 y 6,8 se convierten en el valor entero 6. El signo del número no cambia.
int (num_expr)
donde num_expr
es una expresión cuyo resultado es de tipo flotante. Por ejemplo:int (365 / 7)
mod
Esta función devuelve el resto tras la división (módulo). Tenga en cuenta que si intenta dividir un valor por cero, se produce un error en tiempo de ejecución.
mod (num1, num2)
donde
num1 y num2 son variables de tipo flotante o entero, y pueden contener valores negativos.mod (NumberOfDays, 7)
If num2 > 0,
0 <= mod (num1, num2) < num2
If num2 < 0,
num2 < mod (num1, num2) <= 0
random
Algunas aplicaciones necesitan una forma de generar un entero aleatorio, tal vez como medio para realizar un muestreo aleatorio. Esta función devuelve un entero aleatorio dentro de un intervalo especificado. Necesita un entero como parámetro para determinar el intervalo.
random (num)
donde num es un entero entre 2 y 32768 (ambos inclusive). El intervalo está entre 0 y num - 1. En el ejemplo anterior, si num fuese 23, el entero aleatorio caería entre 0 y 22.err_encode
Esta función convierte una tupla de error de FileNet P8 de tres partes en un valor entero, que se puede comparar con un código de resultado devuelto por una llamada al punto de entrada de WorkFlo Application Libraries (WAL). WAL devuelve códigos de resultado cuando en el procesamiento normal se producen condiciones excepcionales (como un fin de archivo en el procesamiento de datos simples) o cuando se producen errores.
El uso primario de err_encode es basar el procesamiento posterior de un elemento de trabajo en los resultados devueltos por una operación que llama a WAL. Normalmente, una operación de ese tipo va seguida de una instrucción de sistema Branch; cuando se ejecuta la instrucción Branch, el elemento de trabajo sigue la ruta de procesamiento determinada por el código de resultado que había devuelto la operación anterior. Por ejemplo, utilice la función err_code en la definición de Branch para indicar que si <return code> = err_encode (80, 0, 2), el elemento de trabajo sigue una ruta de procesamiento, mientras que sigue otra ruta diferente de procesamiento si <return code> = err_encode (80, 0, 5).
err_encode (mod_num, func_num, err_num)
donde:Parámetro | Descripción |
---|---|
mod_num | La primera parte del código de resultado. Es una expresión entera (dentro del intervalo 0-255) que indica qué servicio, biblioteca o aplicación es el origen del error. |
func_num | La segunda parte del código de resultado. Es una expresión entera (dentro del intervalo 0-255) que indica de qué función o módulo procede el error o la categoría a la que pertenece el error. |
err_num | La tercera parte del código de resultado. Es una expresión entera (dentro del intervalo 0-65535) que indica el número de error. |