On Sat, 15 Dec 2018 at 15:10, Frank Millman <fr...@chagford.com> wrote:
> On Dec 15, 2018, at 08.58, Jay Kreibich wrote: > > > > On Dec 15, 2018, at 12:49 AM, Frank Millman <fr...@chagford.com> > wrote: > > > > > > I know that floating point is not precise and not suitable for > financial uses. Even so, I am curious about the following - > > > > [...] > > > > > > With the same version of sqlite3 and the same select statement, why > does python return a different result from sqlite3.exe? > > > > Because the shell is altering the output to make it easier to read. > Consider: > > > > sqlite> select 211496.25999999992; > > 211496.26 > I just wanted to point out that python does the same thing (as does basically every floating point display routine): $ python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2 >>> a=211496.25999999992 >>> a 211496.25999999992 >>> print a 211496.26 >>> repr(a) '211496.25999999992' >>> str(a) '211496.26' It's just that the python interpreter outputs the "representation" by default. (Interesting thread; wow at the uₙ = 111 - 1130/uₙ₋₁ + 3000/(uₙ₋₁·uₙ₋₂) sequence!) -Rowan _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users