Its true you lose the decimal value in the conversion, and since you're converting to int that probably isn't an issue, but be aware that the float value you start with may not be accurate for large numbers and int variables store large int values more accurately. This could be an issue with large numbers or medium size numbers where there are lots of conversions and accuracy is required. The code below shows how float does not store large non decimal values accurately :
class c{
{ public static void main(
String ja[])
int x = 312345678;
float y = 312345678f;
System.out.println(x );
System.out.println(y );
}
}
The output is :
312345678 // int value
3.12345664E8 // float value