diff --git a/numerizer/numerizer.py b/numerizer/numerizer.py index 8bc3a09..eb6b0fa 100644 --- a/numerizer/numerizer.py +++ b/numerizer/numerizer.py @@ -204,8 +204,15 @@ def _repl_big_prefixes(m): try: group_1_numberized = int(m.group(1)) except ValueError: - group_1_numberized = float(m.group(1)) - repl = '' + str(int(v * group_1_numberized)) + try: + group_1_numberized = float(m.group(1)) + except ValueError: + # Fallback in case group_1 is unparseable like ". million" + group_1_numberized = None + if group_1_numberized is not None: + repl = "" + str(int(v * group_1_numberized)) + else: + repl = str(v) else: repl = str(v) except IndexError: diff --git a/test_numerize.py b/test_numerize.py index 4a7fffb..3072509 100644 --- a/test_numerize.py +++ b/test_numerize.py @@ -80,7 +80,7 @@ def test_straight_parsing(): 99_999: "ninety nine thousand nine hundred ninety nine", 100_000: "100 thousand", 250_000: "two hundred fifty thousand", - 1_000_000: ["one million", "1.0 million"], + 1_000_000: ["one million", "1.0 million", ". Million"], 1_200_000: "1.2 million", 1_250_007: "one million two hundred fifty thousand and seven", 1_000_000_000: "one billion",