Fredrik Lundh wrote:
and while I'm at it:
I propose adding an "abstract" money base type to the standard library, to be subclassed by real money/decimal implementations.
if isinstance(v, basemoney): # yay! it's money print float(money) # let's hope it's not too much
The goal is not to standardize any behaviour beyond this; anything else should be provided by subtypes.
More details here:
I can produce PEP and patch if necessary.
Sounds like a plan.
One thing though: the RE "[+|-]?\d+(.\d+)?" should be extended to allow for currency symbols and names in front or after the monetary value.
Currency for money is a bit like timezones for datetime, so it's a good idea, not to add it to the base type interface. However, the interface should be extendable to include currency information.
-- Marc-Andre Lemburg CEO eGenix.com Software GmbH