Если вы пользуетесь Redmine и ведете там учет времени, то, скорее всего, замечали, что при составлении отчета в PDF могут «проскакивать» странные числа в часах, с огромным количеством знаков после запятой. Например, может отображаться 0.100000001490116 вместо 0.1. Очевидно, это какое-то неправильное округление.
Пример отчета с неправильным округлением часов:
Проблема решается достаточно просто. Дело в том, что это не баг Redmine, а особенность MySQL. В таблице time_entries, в которой хранятся отработанные часы, поле hours имеет тип float. Нужно просто уточнить параметры округления, для этого можно использовать SQL-запрос:
ALTER TABLE `redmine`.`time_entries` CHANGE `hours` `hours` FLOAT(11,2) NOT NULL;
Или изменить эти параметры в визуальном интерфейсе одной из СУБД: