Does not seem to work for troisième
Closed this issue · 1 comments
ralphmapper commented
We installed text2num and ran the example but it does not work for troisième
We also had to add the 'fr' parameter. It seems the documentation is incorrect
$ python3 test_bugs.py
842 pommes, 25 chiens, 1003 chevaux, 12698 clous.
95 vaut 95. On tolère l'absence de tirets avant les unités : 76 vaut 76.
Nombres en série : 12 15 004 20 52 103 52 31.
Ordinaux: 5ème troisième 21ème 100ème 1230ème.
Décimaux: 12,99, 120,05 ; mais 60 02.
$ cat test_bugs.py
from text_to_num import alpha2digit
sentence = (
"Huit cent quarante-deux pommes, vingt-cinq chiens, mille trois chevaux, "
"douze mille six cent quatre-vingt-dix-huit clous.\n"
"Quatre-vingt-quinze vaut nonante-cinq. On tolère l'absence de tirets avant les unités : "
"soixante seize vaut septante six.\n"
"Nombres en série : douze quinze zéro zéro quatre vingt cinquante-deux cent trois cinquante deux "
"trente et un.\n"
"Ordinaux: cinquième troisième vingt et unième centième mille deux cent trentième.\n"
"Décimaux: douze virgule quatre-vingt dix-neuf, cent vingt virgule zéro cinq ; "
"mais soixante zéro deux."
)
print(alpha2digit(sentence,'fr'))
fquirin commented
My French is not the best ^^ but I think troisième
is below the default ordinal threshold of 3. Try ordinal_threshold=0
.
This is new in 2.4.0:
def alpha2digit(
text: str,
lang: str,
relaxed: bool = False,
signed: bool = True,
ordinal_threshold: int = 3,
)