int big = 1234567890;
float approx = big;
System.out.println(big - (int)approx);
The system prints out -46. I thought that float only allows for 7 significant figures meaning the operation would be 1234567890-1234567=1,233,333,323. How is it possible for it to print -46?