Velocity Reviews > Money data type

# Money data type

Batista, Facundo
Guest
Posts: n/a

 09-17-2003
Can't find it.

I mean something like:

>> m1 = Money(decimal=2)
>> m2 = Money(decimal=2)
>> m1.value = 3.20
>> m2.value = 2.15
>> print m1 + m2

5.35

5.35! Not 5.3500000000000001 neither 5.34999999999999999999.

I think this is not a rare thing, but I can't find it in the standar library
neither the package index.

Thanks!

.. Facundo

Lukasz Pankowski
Guest
Posts: n/a

 09-17-2003
look at http://fixedpoint.sourceforge.net/ it gives you numeric object
for monetary applications (I have never used it)

--

=*= Lukasz Pankowski =*=

Asun Friere
Guest
Posts: n/a

 09-18-2003
"Batista, Facundo" <(E-Mail Removed)> wrote in message news:<(E-Mail Removed)>...
> Can't find it.
>
> I mean something like:
>
> >> m1 = Money(decimal=2)
> >> m2 = Money(decimal=2)
> >> m1.value = 3.20
> >> m2.value = 2.15
> >> print m1 + m2

> 5.35
>
> 5.35! Not 5.3500000000000001 neither 5.34999999999999999999.
>
> I think this is not a rare thing, but I can't find it in the standar library
> neither the package index.
>
> Thanks!
>
> . Facundo

If it's merely a matter of representing itself you could do something
blindingly simple like:

class Dollars (float) :

def __repr__ (self) :
return "\$%.2f" % self

#and so on for the other mathematical operators ...

>>> a = Dollars(125.45)
>>> a

\$125.45
>>> a + 25.6667

\$151.12
>>>

Note this is _not_ to your spec (ie output includes a currency symbol
and input is simply a float).

Asun Friere
Guest
Posts: n/a

 09-18-2003
http://www.velocityreviews.com/forums/(E-Mail Removed) (Asun Friere) wrote in message news:<(E-Mail Removed). com>...
>
> def __repr__ (self) :
> return "\$%.2f" % self

Umm ...you might want to do the same to __str__ if you want to print ... :/