summaryrefslogtreecommitdiff
path: root/type/centcount.py
diff options
context:
space:
mode:
Diffstat (limited to 'type/centcount.py')
-rw-r--r--type/centcount.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/type/centcount.py b/type/centcount.py
index 2cb99e0..4529695 100644
--- a/type/centcount.py
+++ b/type/centcount.py
@@ -1,7 +1,10 @@
#!/usr/bin/env python3
+"""An amount of money (USD) represented as an integral count of
+cents."""
+
import re
-from typing import Optional, Tuple, TypeVar
+from typing import Optional, Tuple
import math_utils
@@ -36,9 +39,9 @@ class CentCount(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 CentCount(centcount=self.centcount, currency=self.currency)
@@ -181,8 +184,8 @@ class CentCount(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__)
CENTCOUNT_RE = re.compile(r"^([+|-]?)(\d+)(\.\d+)$")
CURRENCY_RE = re.compile(r"^[A-Z][A-Z][A-Z]$")