• GissaMittJobb@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      You can’t use it if you ever want to do any operations on said money, due to the loss of prescision.

      Enums are not a good idea for the currencies either.

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        1 month ago

        Yes you can. You’re vastly underestimating the size of an f64. Give me a concrete example of a money operation that fails with f64 (for normal companies; assuming you aren’t a stock exchange or Visa or whatever).

        Enums are not a good idea for the currencies either.

        Why not?

        • GissaMittJobb@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          1 month ago

          Yes you can. You’re vastly underestimating the size of an f64. Give me a concrete example of a money operation that fails with f64 (for normal companies; assuming you aren’t a stock exchange or Visa or whatever).

          0.1f64 + 0.2f64 != 0.3f64

          Why not?

          Encoding in assumptions about a fixed amount of supported currencies in a system is broadly speaking not a good idea

          • FizzyOrange@programming.dev
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            1 month ago

            0.1f64 + 0.2f64 != 0.3f64

            It does if you round it to the nearest penny.

            Encoding in assumptions about a fixed amount of supported currencies in a system is broadly speaking not a good idea

            Most sensible programming languages allow enums to be non-exhaustive.