WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Función ROUND

La función numérica ROUND redondea un valor proporcionado a un número dado de posiciones.

Sintaxis

Leer el esquema de sintaxisOmitir el esquema de sintaxis visual
>>-ROUND--(--número_origen--,--precisión------------------------>

>--+----------------------------+--)---------------------------><
   |      (1)                   |      
   '-MODE------| RoundingMode |-'      

RoundingMode

|--+-ROUND_UP--------+------------------------------------------|
   +-ROUND_DOWN------+   
   +-ROUND_CEILING---+   
   +-ROUND_FLOOR-----+   
   +-ROUND_HALF_UP---+   
   +-ROUND_HALF_EVEN-+   
   '-ROUND_HALF_DOWN-'   

Notas:
  1. Si no especifica MODE, se utiliza el valor ROUND_HALF_EVEN.

Si precisión es un número positivo, se redondea el valor de número_origen a las posiciones que indique el valor de precisión a la derecha de la coma decimal. Si precisión es un valor negativo, el resultado es número_origen redondeado en el número de posiciones que indica el valor absoluto de precisión a la izquierda de la coma decimal.

número_origen puede ser cualquier tipo de datos numérico incorporado; precisión debe ser un entero. El resultado es del mismo tipo de datos que el parámetro número_origen a menos que número_origen sea NULL, en cuyo caso el resultado es NULL.

Esto significa que el resultado de la función es:
  • INTEGER si número_origen es INTEGER
  • FLOAT si número_origen es FLOAT
  • DECIMAL si número_origen es DECIMAL
Al realizar el redondeo, se utilizan por omisión las reglas del redondeo bancario o simétrico par, a menos que se especifique una modalidad de redondeo (RoundingMode).

RoundingMode

La modalidad de redondeo (RoundingMode) puede tener uno de los siguientes valores:
ROUND_UP
Redondear alejándose de cero. Siempre incrementa el dígito antes de una parte fraccionaria desechada no cero. Esta modalidad de redondeo nunca disminuye la magnitud del valor calculado.
ROUND_DOWN
Redondear hacia cero. Nunca incrementa el dígito antes de una parte fraccionaria desechada, es decir, se trunca. Esta modalidad de redondeo nunca aumenta la magnitud del valor calculado.
ROUND_CEILING
Redondear hacia infinito positivo. Si el decimal es positivo, se comporta como para ROUND_UP; si es negativo, se comporta como para ROUND_DOWN. Esta modalidad de redondeo nunca disminuye el valor calculado.
ROUND_FLOOR
Redondear hacia infinito negativo. Si el decimal es positivo, se comporta como para ROUND_DOWN; si es negativo, se comporta como para ROUND_UP. Esta modalidad de redondeo nunca aumenta el valor calculado.
ROUND_HALF_UP
Redondear hacia el "valor contiguo más cercano" a menos que ambos valores contiguos sean equidistantes, en cuyo caso redondear por exceso. Se comporta como para ROUND_UP si la parte fraccionaria desechada es mayor que o igual a 0,5; de lo contrario, se comporta como para ROUND_DOWN. Esta la modalidad de redondeo que normalmente se enseña en el colegio.
ROUND_HALF_DOWN
Redondear hacia el "valor contiguo más cercano" a menos que ambos valores contiguos sean equidistantes, en cuyo caso redondear por defecto. Se comporta como para ROUND_UP si la parte fraccionaria desechada es mayor que 0,5; de lo contrario, se comporta como para ROUND_DOWN.
ROUND_HALF_EVEN
Redondear hacia el "valor contiguo más cercano" a menos que ambos valores contiguos sean equidistantes, en cuyo caso redondear al valor contiguo par. Se comporta como para ROUND_HALF_UP si el dígito a la izquierda de la parte fraccionaria desechada es impar; se comporta como para ROUND_HALF_DOWN si es par. Esta es la modalidad de redondeo que minimiza el error acumulativo cuando se aplica repetidamente a una secuencia de cálculos, y a veces se denomina Redondeo bancario.
La tabla siguiente presenta un resumen de operaciones de redondeo, con una precisión de cero, bajo distintas modalidades de redondeo.
Número de entrada ROUND UP ROUND DOWN ROUND CEILING ROUND FLOOR ROUND HALF UP ROUND HALF DOWN ROUND HALF EVEN
5.5 6 5 6 5 6 5 6
2.5 3 2 3 2 3 2 2
1.6 2 1 2 1 2 2 2
1.1 2 1 2 1 1 1 1
1.0 1 1 1 1 1 1 1
-1.0 -1 -1 -1 -1 -1 -1 -1
-1.1 -2 -1 -1 -2 -1 -1 -1
-1.6 -2 -1 -1 -2 -2 -2 -2
-2.5 -3 -2 -2 -3 -3 -2 -2
-5.5 -6 -5 -5 -6 -6 -5 -6
Ejemplos que utilizan la modalidad de redondeo predeterminada (ROUND_HALF_EVEN):
ROUND(27,75, 2)
devuelve 27,75
ROUND(27,75, 1)
devuelve 27,8
ROUND(27,75, 0)
devuelve 28
ROUND(27,75, -1)
devuelve 30
Ejemplos que utilizan una modalidad de redondeo con una precisión de cero:
ROUND(5.5, 0 MODE ROUND_UP);
devuelve 6
ROUND(5.5, 0 MODE ROUND_DOWN);
devuelve 5
ROUND(5.5, 0 MODE ROUND_CEILING);
devuelve 6
ROUND(5.5, 0 MODE ROUND_FLOOR);
devuelve 5
ROUND(5.5, 0 MODE ROUND_HALF_UP);
devuelve 6
ROUND(5.5, 0 MODE ROUND_HALF_DOWN);
devuelve 5
ROUND(5.5, 0 MODE ROUND_HALF_EVEN);
devuelve 6
ROUND(2.5, 0 MODE ROUND_UP);
devuelve 3
ROUND(2.5, 0 MODE ROUND_DOWN);
devuelve 2
ROUND(2.5, 0 MODE ROUND_CEILING);
devuelve 3
ROUND(2.5, 0 MODE ROUND_FLOOR);
devuelve 2
ROUND(2.5, 0 MODE ROUND_HALF_UP);
devuelve 3
ROUND(2.5, 0 MODE ROUND_HALF_DOWN);
devuelve 2
ROUND(2.5, 0 MODE ROUND_HALF_EVEN);
devuelve 2

Si es posible, la escala se cambia al valor proporcionado. Si el resultado no se puede representar dentro de la escala proporcionada, es INFINITY.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:59:56


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ak05380_