If the browser language is set to german, an entry with an duration of x.5 hours will show up with an duration of x hours in view_entry.
(i.e. an entry with a real duration of 2.5 hours, will be shown with "Dauer: 2 Stunden" (translation: Duration: 2 hours))
The problem seems to be the following lines in functions.inc:
180 $dur = sprintf('%.3f', $dur);
181 $dur = (string) (float) $dur; // removes trailing zeros