Skip to content

Commit 282f72d

Browse files
Added support for Tunisian Dinar (#593)
* Added support for Tunisian Dinar * Added tests for TND currency * Set parPrecision for other AR currencies --------- Co-authored-by: Marlon Rodriguez Garcia <47992153+mrodriguezg1991@users.noreply.github.com>
1 parent 0df2a0e commit 282f72d

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

num2words/lang_AR.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
("قرش", "قرشان", "قروش", "قرش")]
3232
CURRENCY_KWD = [("دينار", "ديناران", "دينارات", "ديناراً"),
3333
("فلس", "فلسان", "فلس", "فلس")]
34+
CURRENCY_TND = [("دينار", "ديناران", "دينارات", "ديناراً"),
35+
("مليماً", "ميلمان", "مليمات", "مليم")]
3436

3537
ARABIC_ONES = [
3638
"", "واحد", "اثنان", "ثلاثة", "أربعة", "خمسة", "ستة", "سبعة", "ثمانية",
@@ -352,15 +354,22 @@ def validate_number(self, number):
352354
return number
353355

354356
def set_currency_prefer(self, currency):
355-
if currency == 'EGP':
357+
if currency == 'TND':
358+
self.currency_unit = CURRENCY_TND[0]
359+
self.currency_subunit = CURRENCY_TND[1]
360+
self.partPrecision = 3
361+
elif currency == 'EGP':
356362
self.currency_unit = CURRENCY_EGP[0]
357363
self.currency_subunit = CURRENCY_EGP[1]
364+
self.partPrecision = 2
358365
elif currency == 'KWD':
359366
self.currency_unit = CURRENCY_KWD[0]
360367
self.currency_subunit = CURRENCY_KWD[1]
368+
self.partPrecision = 2
361369
else:
362370
self.currency_unit = CURRENCY_SR[0]
363371
self.currency_subunit = CURRENCY_SR[1]
372+
self.partPrecision = 2
364373

365374
def to_currency(self, value, currency='SR', prefix='', suffix=''):
366375
self.set_currency_prefer(currency)

tests/test_ar.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ def test_currency_parm(self):
6666
self.assertEqual(
6767
num2words(1000000.99, to='currency', lang='ar', currency="KWD"),
6868
'مليون دينار و تسع و تسعون فلس')
69+
self.assertEqual(
70+
num2words(1000.42, to='currency', lang='ar', currency="TND"),
71+
'ألف دينار و أربعمائة و عشرون مليم')
72+
self.assertEqual(
73+
num2words(123.21, to='currency', lang='ar', currency="TND"),
74+
'مائة و ثلاثة و عشرون ديناراً و مئتان و عشر مليمات')
6975

7076
def test_ordinal(self):
7177

0 commit comments

Comments
 (0)