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.
isn't this better handled by a separate method/attribute?
(otherwise, I fear that we'll end up adding all possible currency notations to the abstract type. but maybe there is a standard for this, somewhere?)