[Tutor] Is there anyway to set how many numbers are used after the decimal in floating numbers?

Bob Gailer bgailer at alum.rpi.edu
Thu Aug 18 19:11:05 CEST 2005


At 10:31 AM 8/18/2005, Nathan Pinno wrote:
>Is there anyway to set how many numbers are used after the decimal in 
>floating numbers? It would be nice if the answer could be rounded to 2 
>decimal spots, instead of the ten millionths spot.

The simple answer is NO. Floating point numbers have a "fixed" number of 
digits and an exponent to place the decimal point. You can control how many 
digits are "displayed" using % formatting.
 >>> 5./3
1.6666666666666667
 >>> '%6.3f' % (5./3) # notice this rounds and formats
' 1.667'

There are various other ways to accomplish your goals depending on what 
they are. What are you using floating point numbers for? It is easy to get 
into trouble with floating point arithmetic since (1) most decimal numbers 
do not have an exact floating point representation, and (2) the limited 
precision can caus cumulative errors. Example:
 >>> i = 0.0
 >>> for j in range(10):i += j*.1
 >>> i
4.5000000000000009

If you have Python 2.4 + the decimal module may give you what you need.

Bob Gailer
303 442 2625 home
720 938 2625 cell 



More information about the Tutor mailing list