Avatar ·

Redondeo de Double a 1 decimal en Kotlin: ¿cómo obtener 0.1 a partir de 0.044999?

¡Hola a todos! Acabo de empezar a aprender Kotlin para Android y me encontré con un extraño problema de redondeo de números de punto flotante. Tengo una variable de tipo Double: `val number = 0.044999`. Necesito redondearla a un decimal para obtener 0.1 (es decir, redondeo matemáticamente correcto hacia arriba, ya que el siguiente dígito después de 0.0 es 4, pero si miramos el número completo, 0.045 ya da 0.1 al redondear a un decimal). Probé usar `String.format("%.1f", number)`, pero devuelve `0.0`, ¿porque format solo mira el primer decimal? Luego probé `Math.round(number * 10.0) / 10.0`, pero el resultado es nuevamente `0.0`. ¡Estoy estancado! Aquí está mi código: ```kotlin fun main() { val number = 0.044999 val rounded = Math.round(number * 10.0) / 10.0 println(rounded) // Imprime 0.0, pero necesito 0.1 } ``` Entiendo que el problema está en la representación binaria de los números de punto flotante, pero ¿cómo puedo hacer un redondeo "honesto" correctamente?