# Why do some decimal values change when entered in the timesheet?

Why do some decimal values change or seem to be rounding when entered in the timesheet?

For example,

[Entered values] = [Saved value]
.01 = .00
.03, .04 = .02
.06 = .05
.08, .09 = .07

Values are changed when saved because the timesheet allows entry in “hundredths of an hour” precision, whereas the data is actually converted and stored in “minutes” precision.  When data is entered in a form represented by 100 units per hour, but is stored (in minutes) with only 60 units per hour, there will necessarily be some “hundredths” values that cannot be natively represented when the screen is reloaded.

In short…  Each “hundredth of an hour” represents 36 seconds.  So, “1.01” is actually trying to say “1 hour and 36 seconds”.  Since we are storing in “minutes”, the extra seconds are simply discarded.  This results in the following conversions:
• “1.00” -> “1 hour, 0 minutes, 0 seconds” -> stored as “60 minutes” -> which is then redisplayed as “1.00”
• “1.01” -> “1 hour, 0 minutes, 36 seconds” -> stored as “60 minutes” (seconds are truncated) -> which is then redisplayed as “1.00”
• “1.02” -> “1 hour, 1 minute, 12 seconds” -> stored as “61 minutes” (seconds are truncated) -> which is then redisplayed as “1.02”
• “1.03” -> “1 hour, 1 minute, 48 seconds” -> stored as “61 minutes” (seconds are truncated) -> which is then redisplayed as “1.02”
Note that these four entered values actually only resolve to two different “minute” values – so only two different values are used when the screen is redisplayed.