round()

La función de sistema MathLib.round redondea un número o expresión en el valor más cercano (por ejemplo, en el millar más cercano) y devuelve el resultado.

  MathLib.round(
    campoNumérico mathLibNumber in
    [, potenciaDe10 mathLibInteger in
    ])
  returns (resultado mathLibTypeDependentResult)
  MathLib.round(expresiónNumérica anyNumericExpression in
  returns (resultado mathLibTypeDependentResult)
resultado
Cualquier elemento numérico o HEX, como se describe en la sección Matemáticas (palabras del sistema). El valor generado por la operación de redondeo se convierte al formato de resultado y se devuelve en resultado.
La longitud máxima soportada en este caso es de 31 en lugar de 32, ya que el redondeo se produce del siguiente modo:
  • Se añade cinco al dígito de resultado con una precisión superior en uno a la del dígito de resultado
  • Se trunca el resultado

Si se utilizan más de 31 dígitos en el cálculo y EGL no puede determinar la violación durante el desarrollo, se produce un desbordamiento numérico durante la ejecución.

campoNumérico
Cualquier elemento numérico o HEX, como se describe en la sección Matemáticas (palabras del sistema).
expresiónNumérica
Una expresión numérica que no sea simplemente un elemento numérico. Si especifica un operador, no puede especificar un valor para entero.

No puede utilizar MathLib.round con el operador de resto (%).

potenciaDe10
Un entero que determina el valor al que se redondea el número:
  • Si el entero es positivo, el número se redondea en el valor más cercano igual a 10 elevado a la potencia de potenciaDe10. Por ejemplo, si el entero es 3, el número se redondea en el millar más cercano.
  • La misma operación se realiza si el entero es cero o negativo; en ese caso, el número se redondea en el número de posiciones decimales especificado.

Si no especifica potenciaDe10, MathLib.round se redondea en el número de posiciones decimales de resultado.

El entero se define como de tipo INT o el siguiente equivalente: tipo BIN con longitud 9 y sin posiciones decimales.

Ejemplos

En el siguiente ejemplo, el elemento balance se redondea al millar más próximo:

balance = 12345.6789;
rounder = 3;
balance = MathLib.round(balance, rounder);
// El valor de balance ahora es 12000.0000

En el siguiente ejemplo, se utiliza un valor rounder de -2 para redondear balance a dos posiciones decimales:

balance = 12345.6789;
rounder = -2;
balance = mathLib.round(balance, rounder);
// El valor de balance ahora es 12345.6800

Consulta relacionada
Biblioteca MathLib de EGL

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.