4 ms·
when the fractions actually dont matter... its so painless just to just store everything in pennies rather than dollars (multiply everything by 100)
by dionian 7y ago
when the fractions actually dont matter... its so painless just to just store everything in pennies rather than dollars (multiply everything by 100)
- wruza 7y agoIt’s not painless. E.g. dividing $100.00 by 12 month in integer cents requires 11 $8.33 and one $8.37 (or better 4x(2x8.33+8.34), depending on definition of ‘better’). You can forget this $0.04, but it will jump around in reports until you get rid of it – it requires someone’s attention anyway, no matter how small it is. Otoh, in unrounded floating point that will lead to a mismatch between (integer) payments and calculations. In rounded fp it’s the same problem, except when you’re trying very hard for error bits to accumulate (like cross-multiplying dataset sums with no intermediate rounding, which is nonsense in financial calc and where regular fixpoint integers will overflow anyway). What I’m trying to show here is that both integers and floating point are not suitable for doing ‘simple’ financial math. But we get used to this Bresenhamming in integers and do not perceive it as solving an error correction problem.
- Waterluvian 7y agoThis struck home with me when one day a friend and I bought the same thing and he paid a penny more. I realized something I didn't ever notice or appreciate in 20+ years: oh yeah, they can't just round off the penny in their favour every time. And the code that handles tracking when to charge someone an extra penny must be irritating to have developed and manage. All of a sudden you've got state.
- tricolon 7y agoWhat kind of thing and store was it?