There is a strange behavior I cannot understand. Agreed that float point number are approximations, so even operations that are obviously returning a number without decimal numbers can be approximated to something with decimals.
I'm doing this:
int num = (int)(195.95F * 100);
and since it's a floating point operation I get 19594 instead of 19595.. but this is kind of correct.
What puzzles me is that if I do
float flo = 195.95F * 100;
int num = (int) flo;
I get the correct result of 19595.
Any idea of why this happens?