Sorry, but even Excel (which usually isn't very good at decimal math) gives correct results:
ROUND(3.255;2) --> 3.26 ROUND(3.25499999999999;2) --> 3.25 Yours is clearly incorrect. ----- Original Message ----- From: Richard Hipp <d...@sqlite.org> To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> Sent: Friday, May 24, 2019, 14:44:52 Subject: [sqlite] round function inconsistent On 5/24/19, Jose Isaias Cabrera <jic...@outlook.com> wrote: > Dr. Hipp, how many more scenarios, where round gives the wrong answer, > exist? Thanks. Consider these two queries: SELECT round(3.255,2); SELECT round(3.2549999999999998,2); Do you expect them to give different answers? If so, do you realize that 3.255 and 3.49999999999998 are in fact the exact same floating point number? That number in (unambiguous) hex notation is 0x1.a0a3d70a3d70ap+1. So how is it that you would expect the round() function to return different answers for two cases where it is given bit-for-bit identical inputs? How does it know which answer to give? -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users