Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/06/2013, 11:28
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 20 años
Puntos: 1360
Respuesta: BigDecimal Duda

Tal vez lo veas mejor con otras cifras.

HALF_UP si es mayor o igual a 5 entonces redondea hacia abajo. HALF_DOWN si es menor o igual a 5 redondea hacia abajo.

Ejemplo sin codigo:
Código:
1.4 -> HALF UP   -> 1
1.4 -> HALF DOWN -> 1

1.5 -> HALF UP   -> 2
1.5 -> HALF DOWN -> 1

1.6 -> HALF UP   -> 2
1.6 -> HALF DOWN -> 2
Código Java:
Ver original
  1. import java.math.BigDecimal;
  2.  
  3. public class Main {
  4.     public static void main(String args[])
  5.     {
  6.         BigDecimal num_1 = new BigDecimal("5.555");
  7.         BigDecimal num_2 = new BigDecimal("5.556");
  8.         BigDecimal num_3 = new BigDecimal("5.554");
  9.  
  10.         System.out.println("num_1 = " + num_1 + " : " + num_1.setScale(2, BigDecimal.ROUND_HALF_DOWN));
  11.         System.out.println("num_2 = " + num_2 + " : " + num_2.setScale(2, BigDecimal.ROUND_HALF_DOWN));
  12.         System.out.println("num_3 = " + num_3 + " : " + num_3.setScale(2, BigDecimal.ROUND_HALF_DOWN));
  13.  
  14.         System.out.println("---------------------------------------------------------------------------------");
  15.  
  16.         System.out.println("num_1 = " + num_1 + " : " + num_1.setScale(2, BigDecimal.ROUND_HALF_UP));
  17.         System.out.println("num_2 = " + num_2 + " : " + num_2.setScale(2, BigDecimal.ROUND_HALF_UP));
  18.         System.out.println("num_3 = " + num_3 + " : " + num_3.setScale(2, BigDecimal.ROUND_HALF_UP));
  19.     }
  20. }