"Aquí hay un par de cosas interesantes sobre tipos reales (fraccionales). Comencemos con este ejemplo:"

float f = 3 / 5;

"Este cálculo dará como resultado que f sea igual a... ¡cero!"

"Sí, Rishi me dijo algo así".

"Oh, ¿lo hizo? Bien. La repetición es muy útil".

"Aquí no hay ningún error. La división involucra dos números enteros, por lo que el resto simplemente se ignora. Para evitar que esto suceda, al menos uno de los dos números en la división debe ser fraccionario".

"Si uno de los números es fraccionario, entonces el segundo número se convertirá primero a un tipo fraccionario y luego se realizará la división".

"Puedes resolver este problema así:"

Notación para números fraccionarios:
float f = 3.0f / 5.0f;
float f = 3.0f / 5;
float f = 3 / 5.0f;

"¿Qué pasa si la división involucra variables?"

"Entonces hacemos esto:"

Convierta una variable entera a un valor fraccionario:
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; 

"Eso parece incómodo. ¿No hay otra operación de división, algo más conveniente?"

"Nop. Esto es todo lo que hay".

"Bueno, ningún problema."