Avatar ·

Cómo redondear un número a N decimales en Java

¡Hola a todos! Soy nuevo en Java y me encontré con un problema al trabajar con números decimales. Necesito que después de operaciones matemáticas el número se muestre con una cantidad específica de decimales. Por ejemplo, calculo un promedio y quiero mostrar el resultado con dos decimales: 5.67, no 5.6748912. Probé usar `System.out.printf("%.2f", number)`, pero esto es solo para la salida. Necesito guardar el número redondeado para cálculos posteriores. Intenté hacer esto: ```java double value = 5.6748912; double rounded = Math.round(value * 100) / 100; System.out.println(rounded); // Muestra 5.0, ¡no 5.67! ``` ¿Por qué sucede esto? Multipliqué por 100, redondeé, dividí — debería funcionar. Obviamente, algo estoy pasando por alto. También he oído sobre `BigDecimal`, pero no entiendo cómo usarlo correctamente. Por favor, indíquenme una forma confiable que funcione para cualquier número (positivo y negativo) y no pierda precisión. ¡Gracias de antemano! <<>>

Por qu