On 2024-02-14 22:55:01 -0700, David G. Johnston wrote: > On Tuesday, February 13, 2024, veem v <veema0000@xxxxxxxxx> wrote: > > float data types rather than numeric. This will give better performance. > > > Only use an inexact floating-point data type if you truly understand what you > are getting yourself into. Quickly getting the wrong answer isn’t tolerable > solution. Do NOT assume that a decimal type (even if it can grow to ridiculuous lengths like PostgreSQL's numeric) is exact in the mathematical sense. It isn't. It cannot represent almost all real numbers. No pi or e of course, but also no seemingly simple fractions like 1/3 or 1/7. Unless you never divide anything, you will need to be aware of the rounding behaviour, just as you have to with binary floating point types. And if you use a finite precision you will also have to deal with rounding on multiplication (and possibly even addition and subtraction, if you use different precisions). Almost 40 years ago, our numerical methods professor started his first lecture with the sentence "You can use a computer for anything - except computing". He spent the rest of the semester proving himself wrong, of course, but computing correctly is hard - and choosing a data type which more closely mimics the way we learn to compute in primary school doesn't necessarily make it easier. Mostly it just makes it harder to spot the errors ;-). hp -- _ | Peter J. Holzer | Story must make more sense than reality. |_|_) | | | | | hjp@xxxxxx | -- Charles Stross, "Creative writing __/ | http://www.hjp.at/ | challenge!"
Attachment:
signature.asc
Description: PGP signature