Oi Patricia, tudo bem? 😊
Sua dúvida é muito comum ao trabalhar com números de ponto flutuante em Java. 🤔
O especificador %2f
que você usou indica que o número deve ter uma largura mínima de 2 caracteres, mas não controla a quantidade de casas decimais.
Para controlar o número de casas decimais, você precisa adicionar um ponto e o número de casas desejadas antes do f
.
Por exemplo, para exibir duas casas decimais, você usaria %.2f
.
Veja como ficaria no seu código:
double temperaturaEmCelsius = 40.2;
double temperaturaEmFahrenheit = (temperaturaEmCelsius * 1.8) + 32;
String mensagem = String.format("A temperatura de %.2f Celsius é equivalente a %.2f Fahrenheit", temperaturaEmCelsius, temperaturaEmFahrenheit);
System.out.println(mensagem);
Com essa alteração, a saída será: A temperatura de 40.20 Celsius é equivalente a 104.36 Fahrenheit
.
Transformar o double
em int
não é o ideal para conversões de temperatura, pois você perderia toda a precisão das casas decimais, arredondando o valor para o número inteiro mais próximo.
Se precisar de formatações mais complexas, como separadores de milhar ou moedas, a classe DecimalFormat
é uma ótima opção. 💪
Continue praticando, você está no caminho certo! 😁
🎓 Para saber mais: