Скажите ему чтобы изначально float заменил на integer в копейки и миллиметры
когда товар покупаешь не кратно целому числу.
Например, 29,5 м2 или 29,3 м2 и т.п
потомучто это не 29,5 или 29,3 м2 а 29500 и 29300 миллиметров которые потом должны быть преобразованы автоматически вами в метры.
Бабло нельзя считать флоатом. Этот тип данных очень непредсказуемый, если внимательно не изучить то, как он работает.
P.S. поэтому даже архитекторы зачастую берут за минимальную единицу миллиметры, в своих системах проектирования.
Ну или хотя бы пусть использует double или long double