261
Fixed (programming.dev)
you are viewing a single comment's thread
view the rest of the comments
[-] nous@programming.dev 32 points 1 year ago

The lesson here is that floating point numbers are not exact and that you should never do a straight comparison with them. Instead check to see if they are within some small tolerance of each other. In python that is done with math.isclose(0.1 + 0.2, 0.3).

[-] lemmyvore@feddit.nl 8 points 1 year ago* (last edited 1 year ago)

Please don't try to approximate. Use the decimal module to represent numbers and everything will work as expected and it has a ton of other features you didn't know you needed.

https://docs.python.org/3/library/decimal.html#module-decimal

[-] nous@programming.dev 7 points 1 year ago

Decimal does come at a cost though, being slower than raw floats. When you don't need precision but do need performance then it is still valid to use floats. And quite often you don't need absolute precision for things.

[-] nasal_demon@lemmy.fmhy.ml 3 points 1 year ago

Decimal is less precise than binary. It's just imprecise in ways that are less surprising to humans.

load more comments (1 replies)
load more comments (1 replies)
this post was submitted on 25 Jun 2023
261 points (98.2% liked)

Programmer Humor

19198 readers
2362 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS