In article <[EMAIL PROTECTED]>,
 Brad Tilley <[EMAIL PROTECTED]> wrote:
> > Brad Tilley wrote:
> > 
> >> What is the proper way to limit the results of division to only a few 
> >> spaces after the decimal? I don't need rocket-science like precision. 
> >> Here's an example:
> >>
> >> 1.775 is as exact as I need to be and normally, 1.70 will do
...
> I'm summing up the bytes in use on a hard disk drive and generating a 
> report that's emailed based on the percentage of the drive in use.

Stilling guessing a little about what you're trying to do -
probably implicitly or explicitly invoking the "repr" function
on this values (implicitly for example via repr() or str() on
a sequence of them.)  So,

  a = [1.775, 1.949]
  print a
yields
    [1.7749999999999999, 1.9490000000000001]

You will get something more like what you want with
the str() function instead.  str(1.775) == '1.775'



  from types import FloatType
  class ClassicFloat(FloatType):
      def __repr__(self):
          return self.__str__()

  print map(ClassicFloat, [1.775, 1.949])

yields
    [1.775, 1.949]


(Seems to me the standard float type behaved like
this in Python 1.5.4, hence "classic".)

   Donn Cave, [EMAIL PROTECTED]
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to