X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=type%2Fmoney.py;h=99637d1f23bd607c8856f4fada204b1859c51f3d;hb=532df2c5b57c7517dfb3dddd8c1358fbadf8baf3;hp=39557aacdf79dc31ca6e48d27f367305325e80b8;hpb=713a609bd19d491de03debf8a4a6ddf2540b13dc;p=python_utils.git diff --git a/type/money.py b/type/money.py index 39557aa..99637d1 100644 --- a/type/money.py +++ b/type/money.py @@ -1,8 +1,12 @@ #!/usr/bin/env python3 +# © Copyright 2021-2022, Scott Gasch + +"""A class to represent money. See also centcount.py""" + import re from decimal import Decimal -from typing import Optional, Tuple, TypeVar +from typing import Optional, Tuple import math_utils @@ -39,9 +43,9 @@ class Money(object): a = round(a, 2) s = f'{a:,.2f}' if self.currency is not None: - return '%s %s' % (s, self.currency) + return f'{s} {self.currency}' else: - return '$%s' % s + return f'${s}' def __pos__(self): return Money(amount=self.amount, currency=self.currency) @@ -178,8 +182,8 @@ class Money(object): def __ge__(self, other): return self > other or self == other - def __hash__(self): - return self.__repr__ + def __hash__(self) -> int: + return hash(self.__repr__) AMOUNT_RE = re.compile(r"^([+|-]?)(\d+)(\.\d+)$") CURRENCY_RE = re.compile(r"^[A-Z][A-Z][A-Z]$")