А надо бы юзать округление до ближайшего целого -> 5.
Пришлось подключить хидер rt_fp.h и пользоваться тамошней функцией UINT _ffixu_r(float).
Может быть, режим округления можно изменить каким-то другим, более правильным путём, не прибегая к вызову функций внешней библиотеки?
И почему такой грубый способ округления юзается по умолчанию? Разве это правильно - 4.8 округлять до 4?
