Originariamente inviato da LeleFT 
Perchè non glielo stai dicendo nel modo giusto.
1 è una costante 
intera.
3 è una costante 
intera.
La divisione fra due numeri interi è un numero intero. 1 / 3 = 0.333. Ma 0.333 
non è un valore intero. Quindi viene presa solo la parte intera di quel numero... che è 0. 
Solo dopo tu vai ad effettuare il cast... che a questo punto è del tutto inutile.
Tu devi far capire all'esecutore che quella non è una divisione fra interi, ma una divisione fra valori di tipo float (o double). Per questo devi castare uno dei due operandi... se uno dei due operandi 
non è intero, il risultato della divisione non sarà più considerato intero.
Il gioco funziona così: 
prima viene fatta la divisione e viene valutato il risultato. 
Dopo viene preso in considerazione il tuo cast.
Quindi, se vuoi ottenere un risultato float da una divisione, devi assicurarti che almeno uno dei due operandi sia float.
Ciao. 
