Avatar ·

Arredondamento de Double para 1 casa decimal em Kotlin: como obter 0.1 a partir de 0.044999?

Olá a todos! Comecei a estudar Kotlin para Android e me deparei com um problema estranho de arredondamento de números de ponto flutuante. Tenho uma variável do tipo Double: `val number = 0.044999`. Preciso arredondá-la para uma casa decimal, obtendo 0.1 (ou seja, arredondamento matematicamente correto para cima, já que o próximo dígito após 0.0 é 4, mas considerando o número completo, 0.045 já resulta em 0.1 ao arredondar para uma casa). Tentei usar `String.format("%.1f", number)`, mas ele retorna `0.0`, porque o format considera apenas o primeiro dígito após a vírgula? Depois tentei `Math.round(number * 10.0) / 10.0`, mas o resultado foi novamente `0.0`. Estou perdido! Aqui está meu código: ```kotlin fun main() { val number = 0.044999 val rounded = Math.round(number * 10.0) / 10.0 println(rounded) // Imprime 0.0, mas eu esperava 0.1 } ``` Por que isso acontece? Como posso obter o resultado esperado de 0.1? Existe uma função específica em Kotlin para arredondamento com precisão decimal?