• Blackmist@feddit.uk
    link
    fedilink
    English
    arrow-up
    18
    ·
    edit-2
    4 months ago

    I don’t think that’s how most programmers expect it to work at all.

    However most people would also expect 0.1+0.2==0.3 to return true, so what do I know.

    Floating point is something most of us ignore until it bites us in the ass. And then we never trust it again.

    • thebestaquaman@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      4 months ago

      I have to admit: If you (semi-)regularly use floating point comparisons in programming, I don’t know why you would ever expect 0.1 + 0.2 == 0.3 to return true. It’s common practice to check abs(a - b) < tol, where tol is some small number, to the point that common unit-testing libraries have built-in methods like assertEqual(a, b, tol) specifically for checking whether floats are “equal”.

      • Pelicanen@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        Yeah, a lot of editors throw warnings for using the equals operator with floats by default, as far as I know it’s considered bad practice to do it that way.

    • Miaou@jlai.lu
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      4 months ago

      Then most people shouldn’t be writing code, I don’t know what else to tell you, this is probably one of the first thing you learn about FP arithmetic, and any decent compiler/linter should warn you about that.