Sorry I thought I was being helpful.
Clearly you cannot get it right unless the block time is divisible by 6 minute units ( unless you use two decimal places !) Given your need to achieve micro accuracy you could convert them to the nearest decimal unit of 6 minutes then keep a running total of a plus and minus column to achieve a sort of running balance.
good luck (don't get too bored.
)