Daily Godot Tip #18: If you are using floats but want to make sure value checks aren't messed up by floating-point precision, godot has a built in is_equal_approx(float, float) function - eviltoast

This is usable in any script. It checks to see if the two values differ by a very small value

Alt text: Code that says print(is_equal_approx(1, 0.99999999999)) and then the console log which has printed out true.

  • Kelly@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    20 days ago

    It looks like this returns true if the difference is smaller than the first parameter multiplied by 0.00001.

    Its handy and there will be times when that’s cool, but also times when you need to define your own tolerance.

    There is also similar functionality exposed as class methods of Color, Vector2, AABB, etc.

    • ByteJunk@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      19 days ago

      I’m guessing that if someone needs to define tolerance on such a small scale, they probably weren’t going to depend on an “approximately equal” function in the first place.

      Then again, if someone has been dealing with these sorts of comparisons for a while, they’d have their own way of achieving this, so I guess it can be a handy tool for people who are just getting into game development.