Em Java, você não precisa de uma conversão explícita para alterar um `float` para um` duplo '. O Java promove automaticamente o `float` para` duplo 'quando necessário. Isso é chamado * Conversão de ampliação * porque `duplo` possui uma faixa e precisão maior que o 'float'.
Aqui está como funciona:
`` `Java
classe pública Floattodouble {
public static void main (string [] args) {
flutuar myfloat =3,14f; // Observe que o sufixo 'f' é crucial para os literais flutuantes.
duplo mydouble =myfloat; // conversão implícita
System.out.println ("float:" + myfloat);
System.out.println ("Double:" + MyDouble);
}
}
`` `
A linha `Double myDouble =myfloat;` converte implicitamente o valor `float` em um` double`. Nenhuma fundição é necessária. Java lida com a conversão perfeitamente.
Se você executasse operações aritméticas envolvendo `float` e` duplo ', o `float' seria promovido automaticamente a` duplo 'antes do cálculo.
Enquanto você * pode * lançá -lo explicitamente usando `(duplo) myfloat`, é redundante porque a conversão implícita já é tratada de maneira correta e eficiente pelo compilador Java:
`` `Java
duplo mydoubleExplicic =(duplo) myfloat; // explícito, mas desnecessário
`` `
Em quase todos os casos, a conversão implícita é preferida para melhor legibilidade e concisão. O elenco explícito pode ser útil apenas em situações em que você deseja tornar a conversão muito explícita para a legibilidade em código complexo ou para enfatizar que você está ciente da potencial perda de precisão (embora neste caso de flutuação ao dobro seja mínimo em comparação com outras conversões).