На сто умножать не обязательно. 4.1 == 4.0999999999999994 и без всяких умножений. Даже более локально: .1 == .0999999999999994. С абсолютной точностью флоаты хранят только суммы отрицательных степеней двойки. 0.1 таковой не является.
А что за напасть? Никто ведь не различит на глаз разницу координат в 0.000000001 пикселя, компонент цвета и даже метра. Тут важно выбрать вменяемый масштаб вычислений.
Если речь о деньгах, то в глубинах кода их лучше считать в целых «копейках». А если нужна точность — в соответствующих долях «копейки», но всё равно целым типом.