• em7@programming.dev
    link
    fedilink
    English
    arrow-up
    21
    ·
    edit-2
    1 year ago

    Not sure what financing applications you develop. But what you suggest wouldn’t pass a code review in any financial-related project I saw.

    Using integers for currency-related calculations and formatting the output is no dirty hack, it’s industry standard because floating-point arithmetic is, on contemporary hardware, never precise (can’t be, see https://en.wikipedia.org/wiki/IEEE_754 ) whereas integer arithmetic (or integers used to represent fixed-point arithmetic) always has the same level of precision across all the range it can represent. You typically don’t want to round the numbers you work with, you need to round the result ;-) .

    • BruceDoh
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      Phew. Sometimes I read things and think I’m going crazy. I work in ERP/accounting software and was sure the monetary data type I’ve been using was backed by integers, but the post you’re replying to had me second guessing myself…