Floating point doesn't seem like a good bet for that sort of thing - you're going to be getting unpredictable rounding errors that could get quite large. Better IMO to define the resolution you're going to measure at (tenths of gallons, hundredths, thousandths etc) and store your counters as fixed point integer numbers.