« Voici quelques petites choses intéressantes sur les types réels (fractionnaires). Commençons par cet exemple : »

float f = 3 / 5;

« Avec ce calcul, f vaudra... zéro ! »

« Oui, Rishi m'a dit quelque chose du genre ».

« Ah oui ? Parfait. La répétition est mère d'apprentissage. »

« Pas d'erreur ici. La division implique deux entiers, le reste est donc tout simplement ignoré. Pour empêcher que cela se produise, au moins un des deux nombres de la division doit être fractionnaire. »

« Si un des nombres est fractionnaire, alors le second sera converti en type fractionnaire, et la division sera alors effectuée. »

« Tu peux résoudre ce problème comme ceci : »

Notation pour les nombres fractionnaires :
float f = 3.0f / 5.0f;
float f = 3.0f / 5;
float f = 3 / 5.0f;

« Et si une division implique des variables ? »

« Alors on fait comme ceci : »

Convertir une variable entière en valeur fractionnairele :
int a = 3, b = 5;
float f = (a * 1.0f) / b;


int a = 3, b = 5;
float f = a / (b * 1.0f);


int a = 3, b = 5;
float f = (a * 1.0f) / (b * 1.0f);


 int a = 3, b = 5;
float f = (float) a / b; 

« C'est bizarre comme écriture. Il n'y a pas d'autre opération de division, quelque chose de plus pratique ? »

« Non. Il n'y a que ça. »

« OK. Tant pis alors. »