"Aqui estão algumas coisas interessantes sobre tipos reais (fracionários). Vamos começar com este exemplo:"

float f = 3 / 5;

"Este cálculo resultará em f igual a… zero!"

"Sim, Rishi me disse algo assim."

"Oh, ele fez? Bom. A repetição é super útil."

"Não há erro aqui. A divisão envolve dois números inteiros, então o resto é simplesmente ignorado. Para impedir que isso aconteça, pelo menos um dos dois números na divisão deve ser fracionário."

"Se um dos números for fracionário, o segundo número será primeiro convertido em um tipo fracionário e, em seguida, a divisão será realizada."

"Você pode resolver este problema assim:"

Notação para números fracionários:
float f = 3.0f / 5.0f;
float f = 3.0f / 5;
float f = 3 / 5.0f;

"E se a divisão envolver variáveis?"

"Então nós fazemos isso:"

Converta uma variável inteira em um valor fracionário:
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; 

"Isso parece estranho. Não há outra operação de divisão - algo mais conveniente?"

"Não. Isso é tudo que existe."

"OK, sem problemas."