And...the right way to do this which should work on all databases...rounding any answers to the max precision you asked for.
sqlite> SELECT round(22.35 - (5.45 + 16.9),2), 22.35 = round((5.45 + 16.9),2), round((5.45 + 16.9) - 22.35,2); 0.0|1|0.0 -----Original Message----- From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Israel Lins Albuquerque Sent: Thursday, March 07, 2013 12:04 PM To: sqlite-users@sqlite.org Subject: [sqlite] Bug on real operations An example speaks more than words: Execute this: SELECT 22.35 - (5.45 + 16.9), 22.35 = (5.45 + 16.9), (5.45 + 16.9) - 22.35; The expected result on almost databases is: 0.0, true or 1, 0.0 But in sqlite for some reason they are: 3.5527136788005e-15, 0, -3.5527136788005e-15 I thing this can be a bug on calculation of doubles. Regards, Israel Lins Albuquerque _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users