• cynar@lemmy.world
      link
      fedilink
      English
      arrow-up
      16
      ·
      11 months ago

      For those confused

      2.25+2.25=4.5 rounds to 2+2=5

      2.5+2.5=5 truncates to 2+2=5

      Both can crop up in programming, depending on the situation.

      • Echo Dot@feddit.uk
        link
        fedilink
        English
        arrow-up
        3
        ·
        11 months ago

        2.25 + 2.25 = 4.5

        If you add two floats together then the output is a float, if you add an int and a float together the output is a float. Computers will always perform the calculation as is, unless you explicitly tell them to perform a rounding operation.

        • cynar@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          ·
          11 months ago

          However, if you stuff them into an int at the last minute, you can get that effect.

          Under the hood, it’s floats. On the output, it’s ints.

          It’s obvious and silly with small examples. The problem can creep in when you are using larger libraries or frameworks.

      • afraid_of_zombies@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        11 months ago

        A few months back I had a floating point that had a single 1 like 16 digits past the decimal place and I couldn’t get rid of it.