Is it always that an int*float = int then?
No. int * float is a float. The result is then stored somewhere, which influences the result.
Do you think what i've done (with your suggestion of 1000000.0) is the best way to do that calculation
Best? I don't know. Workable? Yes.