Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #59869

Setting longer default decimal precision

From "Kay Y. Jheallee" <nospam@use.net>
Newsgroups comp.lang.python
Subject Setting longer default decimal precision
Date 2013-11-18 14:14 +0000
Organization Aioe.org NNTP Server
Message-ID <l6d7c7$402$1@speranza.aioe.org> (permalink)

Show all headers | View raw


Using 1/3 as an example,

 >>> 1./3
0.3333333333333333
 >>> print "%.50f" % (1./3)
0.33333333333333331482961625624739099293947219848633
 >>> print "%.50f" % (10./3)
3.33333333333333348136306995002087205648422241210938
 >>> print "%.50f" % (100./3)
33.33333333333333570180911920033395290374755859375000

which seems to mean real (at least default) decimal precision
is limited to "double", 16 digit precision (with rounding error).
Is there a way to increase the real precision, preferably as
the default?
For instance, UBasic uses a "Words for fractionals", f, 
"Point(f)" system, where Point(f) sets the decimal display 
precision, .1^int(ln(65536^73)/ln(10)), with the last few digits 
usually garbage.
Using "90*(pi/180)*180/pi" as an example to highlight the 
rounding error (4 = UBasic's f default value):

  Point(2)=.1^09: 89.999999306
  Point(3)=.1^14: 89.9999999999944
  Point(4)=.1^19: 89.9999999999999998772
  Point(5)=.1^24: 89.999999999999999999999217
  Point(7)=.1^33: 89.999999999999999999999999999999823
Point(10)=.1^48: 89.999999999999999999999999999999999999999999997686
Point(11)=.1^52: 
89.9999999999999999999999999999999999999999999999999632

If not in the core program, is there a higher decimal precision 
module that can be added?

-- 
Kill Hector dead, because Desi sent Milli.

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Setting longer default decimal precision "Kay Y. Jheallee" <nospam@use.net> - 2013-11-18 14:14 +0000
  Re: Setting longer default decimal precision Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-18 14:43 +0000
  Re: Setting longer default decimal precision Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-11-18 20:29 -0500
  Re: Setting longer default decimal precision Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-11-20 14:02 +0000
    Re: Setting longer default decimal precision Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-11-20 14:40 +0000
    Re: Setting longer default decimal precision "Kay Y. Jheallee" <nospam@use.net> - 2013-11-20 19:34 +0000
      Re: Setting longer default decimal precision Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-11-20 19:59 +0000
      Re: Setting longer default decimal precision Tim Golden <mail@timgolden.me.uk> - 2013-11-20 20:04 +0000
      Re: Setting longer default decimal precision Tim Golden <mail@timgolden.me.uk> - 2013-11-20 20:24 +0000
      Re: Setting longer default decimal precision Larry Hudson <orgnut@yahoo.com> - 2013-11-20 23:04 -0800

csiph-web