• cynar@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    1 year 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
      ·
      1 year 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
        ·
        1 year 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
      ·
      1 year 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.