Quelle est la différence entre
float f = (float) 99.32 ;
et
float f = 99.32f ;
Les deux ont été compilés et ont fonctionné avec succès.
Quelle est la différence entre
float f = (float) 99.32 ;
et
float f = 99.32f ;
Les deux ont été compilés et ont fonctionné avec succès.
La différence est que le littéral 99.32
est de type double, tandis que le littéral 99.32f
est de type float.
La première instruction affecte le littéral float à une variable float. Rien de spécial.
La deuxième instruction convertit un double littéral en un flottant, et affecte le résultat à une variable flottante.
En ce qui concerne la norme, vous pouvez assigner un double littéral à une variable flottante, sans le couler explicitement vous-même. Dans ce cas, le cast implicite se produit. Par exemple :
float f = 99.32;
Vous pouvez même faire :
float f = (double) 10.5f;
et le côté droit est toujours implicitement converti en un flottant.
Veuillez noter que la plupart des compilateurs modernes optimisent ces éléments, de sorte que la représentation des flottants est généralement une question de style et de préférence. Soyez juste cohérent.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.