Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Redondeo

Hola podria alguien orientarme para hacer un redondeo por ejemplo
de 1250 o mayor a 1300 y si es 1249 o menor a 1200.Gracias

enero 15, 2012 | Registered Commentermiksug

Se resuelve con el uso de operadores y condiciones:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

enero 15, 2012 | Registered Commenterchoces

Si estás perdido quizás te oriente un poco ver la documentación y código de java y ver como lo hace él método round de la clase Math.
http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html#round%28double%29
y ajustarlo a tu caso.

un saludo

enero 16, 2012 | Registered Commenterrobertiano

Podrías usar las clases MathContext y BigDecimal:


MathContext redondeador = new MathContext(2, RoundingMode.HALF_UP);

BigDecimal numero1 = new BigDecimal(1250);
BigDecimal numero2 = new BigDecimal(1249);

System.out.println("1250 >> " + numero1.round(redondeador).intValue());
System.out.println("1249 >> " + numero2.round(redondeador).intValue());

enero 17, 2012 | Registered CommenterUnai Valle

Voy a explicar un poco mi código anterior, que la cuestión es aprender (y discutir, jeje):

MathContext está configurado para que redondee las 2 últimas cifras enteras. HALF_UP significa que si esas dos cifras es 50 o mayor, redondea hacia arriba. Si es menor, hacia abajo.

- MathContext
- HALF_UP

BigDecimal es una clase usada para hacer cálculos "seguros" con números.

- BigDecimal

enero 17, 2012 | Registered CommenterUnai Valle