diff --git a/num2words/lang_FR.py b/num2words/lang_FR.py index 2785a9a..c5ff4b0 100644 --- a/num2words/lang_FR.py +++ b/num2words/lang_FR.py @@ -51,7 +51,10 @@ class Num2Word_FR(Num2Word_EU): if nnum < 1000000: return next else: - if (not (cnum - 80) % 100 or not cnum % 100) and ctext[-1] == "s": + if (not (cnum - 80) % 100 + or (not cnum % 100 and cnum < 1000))\ + and nnum < 1000000 \ + and ctext[-1] == "s": ctext = ctext[:-1] if cnum < 1000 and nnum != 1000 and \ ntext[-1] != "s" and not nnum % 100: diff --git a/tests/test_fr.py b/tests/test_fr.py index 36ad670..c9e25da 100644 --- a/tests/test_fr.py +++ b/tests/test_fr.py @@ -79,7 +79,12 @@ TEST_CASES_CARDINAL = ( (1000000, 'un million'), (1000001, 'un million un'), (4000000, 'quatre millions'), + (4000004, 'quatre millions quatre'), + (4300000, 'quatre millions trois cent mille'), + (80000000, 'quatre-vingts millions'), + (300000000, 'trois cents millions'), (10000000000000, 'dix billions'), + (10000000000010, 'dix billions dix'), (100000000000000, 'cent billions'), (1000000000000000000, 'un trillion'), (1000000000000000000000, 'un trilliard'),