Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Takto to funguje:
`` `Java
verejná trieda Floattodouble {
public static void main (String [] args) {
float myfloat =3,14f; // Všimnite si, že prípona „f“ je rozhodujúca pre plavákové literály.
Double myDouble =myfloat; // Implicitná konverzia
System.out.println ("float:" + myfloat);
System.out.println ("double:" + myDouble);
}
}
`` `
Riadok `Double myDouble =myfloat;` implicitne prevádza hodnotu `float` na` double`. Nie je potrebné žiadne obsadenie. Java rieši konverziu hladko.
Ak by ste mali vykonávať aritmetické operácie zahŕňajúce `float` a` dvojité`, pred výpočtom by sa „float` by sa automaticky propagoval na„ dvojnásobok “.
Aj keď to * môžete * explicitne obsadiť pomocou `(dvojitého) myfloat`, je to nadbytočné, pretože implicitnú konverziu už spracúva správne a efektívne kompilátorom Java:
`` `Java
Double myDoubleExplit =(Double) myfloat; // explicitné, ale zbytočné
`` `
Takmer vo všetkých prípadoch je implicitná konverzia preferovaná pre lepšiu čitateľnosť a stručnosť. Explicitné obsadenie môže byť užitočné iba v situáciách, keď chcete urobiť konverziu veľmi explicitnú pre čitateľnosť v zložitom kóde alebo zdôrazniť, že ste si vedomí potenciálnej straty presnosti (aj keď v tomto prípade od float po dvojnásobok v porovnaní s inými konverziami).