Re: rounding_up
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Christoph Moench-Tegeder <cmt@burggraben.net>
Cc: Daria Shanina <vilensipkdm@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-04-14T14:26:42Z
Lists: pgsql-hackers
Christoph Moench-Tegeder <cmt@burggraben.net> writes: > ## Daria Shanina (vilensipkdm@gmail.com): >> I noticed, when we parse and validate values (in particular, the int type), >> we use the *rint* method, but unfortunately it does not work according to >> the round rules. > First question would be "which round rule?" as (of course) there're > multiple to chose from. Yeah. Round-to-nearest-even is a well-respected rule, which is why it's the default per IEEE 754. I don't see a good reason for us to switch. Even if someone advanced an argument, it would have to be a *mighty* convincing argument to justify breaking backwards compatibility here. I do find it a little unfortunate that our numeric type does it differently than our float types. Again though, there's a huge compatibility argument against changing that now. It does give you an "out" if you really need one or the other behavior for a particular application: you can cast to numeric or float8 before casting to int. regards, tom lane