109 votes

Qu'est-ce que float en Java?

J'ai écrit ce code:

 float b= 3.6;
 

et je reçois ceci:

Erreur: problème de compilation non résolu: 
    Incompatibilité de type: impossible de convertir du double en float

Pourquoi?
Quelle est la définition de float ? J'ai cherché mais je ne l'ai pas eu.

188voto

Nicolas Points 11558

En Java, lorsque vous tapez un nombre décimal comme 3.6, son interprétation en tant que double. double est un 64 bits de précision IEEE 754 virgule flottante, tout en floatest un 32 bits de précision IEEE 754 en virgule flottante. En tant que float est moins précis qu'un double, la conversion ne peut pas être effectuée de façon implicite.

Si vous souhaitez créer un flotteur, vous devez mettre fin à votre numéro d' f (c'est à dire: 3.6f).

Pour plus d'explication, voir les types de données primitifs définition de la Java tutoriel.

43voto

Jigar Joshi Points 116533

fais-le

 float b= 3.6f;
 

Un littéral à virgule flottante est de type float s'il est suffixé d'une lettre ASCII F ou f; sinon, son type est double et il peut éventuellement être suffixé d’une lettre ASCII D ou d.

13voto

Jan Zyka Points 5808

Le problème est que les nombres décimaux doublent par défaut. Et comme double ne rentre pas dans le flottant, vous devez indiquer explicitement que vous définissez intentionnellement un flottant. Alors allez avec:

 float b = 3.6f;
 

Prograide.com

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.

Powered by:

X