def convert_day(day): day = int(day) days = num2fawords.ordinal_words(day).split(" و ") if len(days) == 2: day = days[0] + "و" + " " + days[1] else: day = days[0] if day == "سیم": day = "سیاُم" return day
"""Provide a command-line interface to use cardinal_words and ordinal_words.""" from argparse import ArgumentParser from num2fawords import words, ordinal_words parser = ArgumentParser() parser.add_argument( 'number', help='the number that is going to be converted to words' ) parser.add_argument( '--ordinal', '-o', help='convert to ordinal from', action='store_true', ) args = parser.parse_args() if args.ordinal: print(ordinal_words(args.number)) else: print(words(args.number))
def test_non_negative_ordinal_words(self): """Test the ordinal_words function.""" assert_equal = self.assertEqual assert_equal(ordinal_words(0), 'صفرم') assert_equal(ordinal_words('0'), 'صفرم') assert_equal(ordinal_words(1), 'یکم') assert_equal(ordinal_words(2), 'دوم') assert_equal(ordinal_words(3), 'سوم') assert_equal(ordinal_words(4), 'چهارم') assert_equal(ordinal_words(5), 'پنجم') assert_equal(ordinal_words(6), 'ششم') assert_equal(ordinal_words(7), 'هفتم') assert_equal(ordinal_words(8), 'هشتم') assert_equal(ordinal_words(9), 'نهم') assert_equal(ordinal_words(10), 'دهم') assert_equal(ordinal_words(11), 'یازدهم') assert_equal(ordinal_words(12), 'دوازدهم') assert_equal(ordinal_words(13), 'سیزدهم') assert_equal(ordinal_words(14), 'چهاردهم') assert_equal(ordinal_words(15), 'پانزدهم') assert_equal(ordinal_words(16), 'شانزدهم') assert_equal(ordinal_words(17), 'هفدهم') assert_equal(ordinal_words(18), 'هجدهم') assert_equal(ordinal_words(19), 'نوزدهم') assert_equal(ordinal_words(20), 'بیستم') assert_equal(ordinal_words(21), 'بیست و یکم') assert_equal(ordinal_words(22), 'بیست و دوم') assert_equal(ordinal_words(23), 'بیست و سوم') assert_equal(ordinal_words(24), 'بیست و چهارم') assert_equal(ordinal_words(111), 'یکصد و یازدهم') assert_equal(ordinal_words(1999), 'یک هزار و نهصد و نود و نهم') assert_equal(ordinal_words(10666), 'ده هزار و ششصد و شصت و ششم') assert_equal( ordinal_words(999555), 'نهصد و نود و نه هزار و پانصد و پنجاه و پنجم', ) assert_equal(ordinal_words(1000000), 'یک میلیونم')
def test_negative_numbers(self): assert_equal = self.assertEqual assert_equal(ordinal_words(-5), 'منفی پنجم') assert_equal(words(-5), 'منفی پنج') assert_equal(words('-5.5'), 'منفی پنج و پنج دهم')