This is the snippet of code in Java:
int i = 1234567890;
float f = i;
System.out.println(i - (int)f);
Why is that the output is not equal to 0? It performs widening, so it is not supposed to loose data. Then you just truncate the value.
Best regards
See the difference
Ouput: