Nein, es funktioniert nicht genauso!
float ist ein Datentyp der seine Werte nur "ungefähr" darstellen kann, d. h. es gibt immer irgendwelche Ungenauigkeiten.
int hingegen ist exakt.
Beispiel:
float f = 0.1 + 0.1 + 0.1;
int i = 1 + 1 + 1;
Der Integer ist exakt 3, der Float-Wert hingegen ist NICHT exakt 0.3.
Je mehr, länger und öfter Gleitpunktwerte verrechnet werden, desto stärker akkumulieren sich diese Fehler, und gerade wenn du große mit kleinen Werten verrechnest, wird es sehr oft passieren, dass dein float-Wert um einige zichtausend neben dem korrekten Ergebnis liegt.
Merke dir: floats sind nur Annäherungen an korrekte Werte, werden diese aber so gut wie nie exakt darstellen können.
Wenn du dir sicher sein willst, rechne so lange wie möglich mit ints und arbeite erst ganz zum Schluss mit floats.
Aus dem selben Grunde werden Geldbeträge bei Banken auch nicht als float behandelt, sondern es wird ausschließlich mit ints gerechnet.