Python digit to word

Code for this:

>>>def handel_upto_99(number):
predef={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine",10:"ten",11:"eleven",12:"twelve",13:"thirteen",14:"fourteen",15:"fifteen",16:"sixteen",17:"seventeen",18:"eighteen",19:"nineteen",20:"twenty",30:"thirty",40:"fourty",50:"fifty",60:"sixty",70:"seventy",80:"eighty",90:"ninety",100:"hundred",100000:"lakh",10000000:"crore",1000000:"million",1000000000:"billion"}
if number in predef.keys():
    return predef[number]
else:
    return predef[(number/10)*10]+' '+predef[number%10]

>>>def return_bigdigit(number,devideby):
predef={0:"zero",1:"one",2:"two",3:"three",4:"four",5:"five",6:"six",7:"seven",8:"eight",9:"nine",10:"ten",11:"eleven",12:"twelve",13:"thirteen",14:"fourteen",15:"fifteen",16:"sixteen",17:"seventeen",18:"eighteen",19:"nineteen",20:"twenty",30:"thirty",40:"fourty",50:"fifty",60:"sixty",70:"seventy",80:"eighty",90:"ninety",100:"hundred",1000:"thousand",100000:"lakh",10000000:"crore",1000000:"million",1000000000:"billion"}
if devideby in predef.keys():
    return predef[number/devideby]+" "+predef[devideby]
else:
    devideby/=10
    return handel_upto_99(number/devideby)+" "+predef[devideby]

>>>def mainfunction(number):
dev={100:"hundred",1000:"thousand",100000:"lakh",10000000:"crore",1000000000:"billion"}
if number is 0:
    return "Zero"
if number<100:
    result=handel_upto_99(number)

else:
    result=""
    while number>=100:
        devideby=1
        length=len(str(number))
        for i in range(length-1):
            devideby*=10
        if number%devideby==0:
            if devideby in dev:
                return handel_upto_99(number/devideby)+" "+ dev[devideby]
            else:
                return handel_upto_99(number/(devideby/10))+" "+ dev[devideby/10]
        res=return_bigdigit(number,devideby)
        result=result+' '+res
        if devideby not in dev:
            number=number-((devideby/10)*(number/(devideby/10)))
        number=number-devideby*(number/devideby)

    if number <100:
        result = result + ' '+ handel_upto_99(number)
return result

result:

>>>mainfunction(12345)
' twelve thousand three hundred fourty five'
>>>mainfunction(2000)
'two thousand'

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    num2words module in Python, which converts number (like 34) to words (like thirty-four). Also, this library has support for multiple languages. In this article, we will see how to convert number to words using num2words module. Installation One can easily install num2words using pip.

    pip install num2words

    Consider the following two excerpts from different files taken from 20 Newsgroups, a popular NLP database. Pre-processing 20 Newsgroups effectively has remained to be a matter of interest.

    In article, Martin Preston writes: Why not use the PD C library for reading/writing TIFF files? It took me a good 20 minutes to start using them in your own app. ISCIS VIII is the eighth of a series of meetings which have brought together computer scientists and engineers from about twenty countries. This year’s conference will be held in the beautiful Mediterranean resort city of Antalya, in a region rich in natural as well as historical sites.

    In the above two excerpts, one can observe that the number ’20’ appears in both numeric and alphabetical forms. Simply following the pre-processing steps, that involve tokenization, lemmatization and so on would not be able to map ’20’ and ‘twenty’ to the same stem, which is of contextual importance. Luckily, we have the in-built library, num2words which solves this problem in a single line. Below is the sample usage of the tool. 

    Python

    from num2words import num2words

    print(num2words(36))

    print(num2words(36, to = 'ordinal'))

    print(num2words(36, to = 'ordinal_num'))

    print(num2words(36, to = 'year'))

    print(num2words(36, to = 'currency'))

    print(num2words(36, lang ='es'))

    Output:

    thirty-six
    thirty-sixth
    36th
    zero euro, thirty-six cents
    treinta y seis

    Time complexity: O(1).
    Auxiliary space: O(1).

    Therefore, in the pre-processing step, one could convert ALL numeric values to words for better accuracy in the further stages. References: https://pypi.org/project/num2words/

    Like Article

    Save Article

    In this tutorial, we are going to learn how to convert a number to its wording (digit-wise). For instance, if the number is 12, the wordings will be “one-two”. A similar thing will be done for the rest of the inputs.


    Code Implementation

    We would be following a number of steps which are mentioned below:


    Step 1: Creating a Global list for digit to word mapping

    Create a global list containing wordings for each digit from 0 to 9. The list will contain elements mapped to the index as shown in the table below.

    Index 0 1 2 3 4 5 6 7 8 9
    Wording / Value zero one two three four five six seven eight nine
    Global list for digit to word mapping
    # Global Array storing word for each digit
    arr = ['zero','one','two','three','four','five','six','seven','eight','nine']
    

    Step 2: Taking the input of the number and creating the main function

    To take input of the number we will make use of input function and then typecast it to integer and also we will create an empty function that will convert our number to words digit-wise.

    # Global Array storing word for each digit
    arr = ['zero','one','two','three','four','five','six','seven','eight','nine']
    
    def number_2_word(n):
        pass
    
    n = int(input())
    print("Number Entered was : ", n)
    print("Converted to word it becomes: ",end="")
    print(number_2_word(n))
    

    Step 3: Coding the Main Logic Inside the Function

    For this code, we will be making use of Recursion. If you have very little or no knowledge about Recursion I would recommend you to check out the tutorial mentioned below:

    Read more on Recursion: Recursion in Python

    For every recursive call, we will check if my number became 0, if it did we would return an empty string otherwise we will keep adding the wordings for each digit with the help of the modulus function and divide the number by 10 to shrink the number and move to the next digit.

    The code implementation is shown below and comments are added for your understanding.

    # Global Array storing word for each digit
    arr = ['zero','one','two','three','four','five','six','seven','eight','nine']
    
    def number_2_word(n):
    
        # If all the digits are encountered return blank string
        if(n==0):
            return ""
        
        else:
            # compute spelling for the last digit
            small_ans = arr[n%10]
    
            # keep computing for the previous digits and add the spelling for the last digit
            ans = number_2_word(int(n/10)) + small_ans + " "
        
        # Return the final answer
        return ans
    
    n = int(input())
    print("Number Entered was : ", n)
    print("Converted to word it becomes: ",end="")
    print(number_2_word(n))
    
    

    Outputs:

    Number Entered was :  123
    Converted to word it becomes: one two three
    
    Number Entered was :  46830
    Converted to word it becomes: four six eight three zero 
    

    Conclusion

    So by end of this tutorial, we saw that the numbers can easily be converted to the wording (digit-wise) in a pretty easy and simple way by the use of Recursion.

    Thank you for reading! Happy Learning! 😇


    Run

    def convert_to_words(num):
     
        l = len(num)
     
        # Base cases
        if (l == 0):
            print("empty string")
            return
     
        if (l > 4):
            print("Length more than 4 is not supported")
            return
     
        single_digits = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
     
        two_digits = ["", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]
     
        tens_multiple = ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]
     
        tens_power = ["hundred", "thousand"]
     
        print(num, ":", end=" ")
     
        if (l == 1):
            print(single_digits[ord(num[0]) - 48])
            return
     
        x = 0
        while (x < len(num)):
            if (l >= 3):
                if (ord(num[x]) - 48 != 0):
                    print(single_digits[ord(num[x]) - 48],
                          end=" ")
                    print(tens_power[l - 3], end=" ")
     
                l -= 1
     
            else:
     
                if (ord(num[x]) - 48 == 1):
                    sum = (ord(num[x]) - 48 +
                           ord(num[x+1]) - 48)
                    print(two_digits[sum])
                    return
     
                elif (ord(num[x]) - 48 == 2 and
                      ord(num[x + 1]) - 48 == 0):
                    print("twenty")
                    return
     
                else:
                    i = ord(num[x]) - 48
                    if(i > 0):
                        print(tens_multiple[i], end=" ")
                    else:
                        print("", end="")
                    x += 1
                    if(ord(num[x]) - 48 != 0):
                        print(single_digits[ord(num[x]) - 48])
            x += 1
     
     
    # Driver Code
    convert_to_words("1121") 
    

    Example 1, we are going to convert a number to its wording. For instance, if the number is 12, the wordings will be “one-two”. A similar thing will be done for the rest of the inputs.

    Example 1:

    arr = ['zero','one','two','three','four','five','six','seven','eight','nine']
     
    def number_2_word(n):
     
        # If all the digits are encountered return blank string
        if(n==0):
            return ""
         
        else:
            # compute spelling for the last digit
            small_ans = arr[n%10]
     
            # keep computing for the previous digits and add the spelling for the last digit
            ans = number_2_word(int(n/10)) + small_ans + " "
         
        # Return the final answer
        return ans
     
    n = int(input())
    print("Number Entered was : ", n)
    print("In English: ",end="")
    print(number_2_word(n))

    Output:

    Example 2: we are going to convert the number to its digital-place wise. For instance, if the number is 12, then the result will be twelve. Similar thing will be done for rest of the inputs.

    Example 2:

    Pre-defined Input

    # convert a single-digit or two-digit number into words
    def convertToDigit(n, suffix):
     
        # if `n` is zero
        if n == 0:
            return EMPTY
     
        # split `n` if it is more than 19
        if n > 19:
            return Y[n // 10] + X[n % 10] + suffix
        else:
            return X[n] + suffix
     
     
    # convert a given number (max 9-digits) into words
    def convert(n):
        # add digits at ten million and hundred million place
        result = convertToDigit((n // 1000000000) % 100, 'Billion, ')
     
        # add digits at ten million and hundred million place
        result += convertToDigit((n // 10000000) % 100, 'Crore, ')
     
        # add digits at hundred thousand and one million place
        result += convertToDigit(((n // 100000) % 100), 'Lakh, ')
     
        # add digits at thousand and tens thousand place
        result += convertToDigit(((n // 1000) % 100), 'Thousand, ')
     
        # add digit at hundred place
        result += convertToDigit(((n // 100) % 10), 'Hundred ')
     
        if n > 100 and n % 100:
            result += 'and '
     
        # add digits at ones and tens place
        result += convertToDigit((n % 100), '')
     
        return result.strip().rstrip(',').replace(', and', ' and')
     
     
    #convert numbers to words
    if __name__ == '__main__':
        EMPTY = ''
     
        X = [EMPTY, 'One ', 'Two ', 'Three ', 'Four ', 'Five ', 'Six ', 'Seven ',
            'Eight ', 'Nine ', 'Ten ', 'Eleven ', 'Twelve ', 'Thirteen ', 'Fourteen ',
            'Fifteen ', 'Sixteen ', 'Seventeen ', 'Eighteen ', 'Nineteen ']
     
        Y = [EMPTY, EMPTY, 'Twenty ', 'Thirty ', 'Forty ', 'Fifty ',
            'Sixty ', 'Seventy ', 'Eighty ', 'Ninety ']
     
        print(convert(0))
        print(convert(7000))
        print(convert(75432))
        print(convert(997751076))
        print(convert(6147493690))

    Output:

    The Tech Platform

    www.thetechplatform.com

    num2words library — Convert numbers to words in multiple languages

    .. image:: https://img.shields.io/pypi/v/num2words.svg
    :target: https://pypi.python.org/pypi/num2words

    .. image:: https://travis-ci.org/savoirfairelinux/num2words.svg?branch=master
    :target: https://travis-ci.org/savoirfairelinux/num2words

    .. image:: https://coveralls.io/repos/github/savoirfairelinux/num2words/badge.svg?branch=master
    :target: https://coveralls.io/github/savoirfairelinux/num2words?branch=master

    num2words is a library that converts numbers like 42 to words like forty-two.
    It supports multiple languages (see the list below for full list
    of languages) and can even generate ordinal numbers like forty-second
    (although this last feature is a bit buggy for some languages at the moment).

    The project is hosted on GitHub_. Contributions are welcome.

    .. _GitHub: https://github.com/savoirfairelinux/num2words

    Installation

    The easiest way to install num2words is to use pip::

    pip install num2words
    

    Otherwise, you can download the source package and then execute::

    python setup.py install
    

    The test suite in this library is new, so it’s rather thin, but it can be run with::

    python setup.py test
    

    To run the full CI test suite which includes linting and multiple python environments::

    pip install tox
    tox
    

    Usage

    Command line::

    $ num2words 10001
    ten thousand and one
    $ num2words 24,120.10
    twenty-four thousand, one hundred and twenty point one
    $ num2words 24,120.10 -l es
    veinticuatro mil ciento veinte punto uno
    $num2words 2.14 -l es --to currency
    dos euros con catorce céntimos
    

    In code there’s only one function to use::

    >>> from num2words import num2words
    >>> num2words(42)
    forty-two
    >>> num2words(42, to='ordinal')
    forty-second
    >>> num2words(42, lang='fr')
    quarante-deux
    

    Besides the numerical argument, there are two main optional arguments.

    to: The converter to use. Supported values are:

    • cardinal (default)
    • ordinal
    • ordinal_num
    • year
    • currency

    lang: The language in which to convert the number. Supported values are:

    • en (English, default)
    • am (Amharic)
    • ar (Arabic)
    • cz (Czech)
    • de (German)
    • dk (Danish)
    • en_GB (English — Great Britain)
    • en_IN (English — India)
    • es (Spanish)
    • es_CO (Spanish — Colombia)
    • es_VE (Spanish — Venezuela)
    • eu (EURO)
    • fa (Farsi)
    • fi (Finnish)
    • fr (French)
    • fr_CH (French — Switzerland)
    • fr_BE (French — Belgium)
    • fr_DZ (French — Algeria)
    • he (Hebrew)
    • hu (Hungarian)
    • id (Indonesian)
    • it (Italian)
    • ja (Japanese)
    • kn (Kannada)
    • ko (Korean)
    • kz (Kazakh)
    • lt (Lithuanian)
    • lv (Latvian)
    • no (Norwegian)
    • pl (Polish)
    • pt (Portuguese)
    • pt_BR (Portuguese — Brazilian)
    • sl (Slovene)
    • sr (Serbian)
    • sv (Swedish)
    • ro (Romanian)
    • ru (Russian)
    • te (Telugu)
    • tg (Tajik)
    • tr (Turkish)
    • th (Thai)
    • vi (Vietnamese)
    • nl (Dutch)
    • uk (Ukrainian)

    You can supply values like fr_FR; if the country doesn’t exist but the
    language does, the code will fall back to the base language (i.e. fr). If
    you supply an unsupported language, NotImplementedError is raised.
    Therefore, if you want to call num2words with a fallback, you can do::

    try:
        return num2words(42, lang=mylang)
    except NotImplementedError:
        return num2words(42, lang='en')
    

    Additionally, some converters and languages support other optional arguments
    that are needed to make the converter useful in practice.

    Wiki

    For additional information on some localization please check the Wiki_.
    And feel free to propose wiki enhancement.

    .. _Wiki: https://github.com/savoirfairelinux/num2words/wiki

    History

    num2words is based on an old library, pynum2word, created by Taro Ogawa
    in 2003. Unfortunately, the library stopped being maintained and the author
    can’t be reached. There was another developer, Marius Grigaitis, who in 2011
    added Lithuanian support, but didn’t take over maintenance of the project.

    I am thus basing myself on Marius Grigaitis’ improvements and re-publishing
    pynum2word as num2words.

    Virgil Dupras, Savoir-faire Linux

    Changelog

    Version 0.5.12 — 2022/08/19

    • Support Japanese Reiwa (令和/れいわ) era. (#412)
    • Add basic farsi support (#354)
    • Added Tajik language support (#406)
    • Fix Amharic language support (#465)
    • Fix Hebrew pluralize and implement to_currency (#330)
    • Add support to translate some currencies in italian language (#434)
    • Fix Polish twenties (#345)
    • Add uzs for ru and en (#422)
    • Added support for Esperanto numbers. (#387)
    • [ADD] to ordinal number for Turkish (#468)
    • Fix zeroth in Dutch to nulde fixing (#326)

    Version 0.5.11 — 2022/08/03

    • Add KZT and UAH currencies to lang RU (#264)
    • Add es_NI currency (#276)
    • Update .gitignore to add .eggs/ directory (#280)
    • Fix Hebrew support (#289)
    • Update test_tr.py to increase coverage (#298)
    • Add ordinal 12,345 to ES test suite to increase coverage (#287)
    • Add simple tests for lang_DK.py (#286)
    • Add testcase for lang_EN.py (#288)
    • Add more tests to base.py (#283)
    • Fixed misspelling of 21 (cardinal and ordinal number) in IT language (#270)
    • Romanian issues 259 (#260)
    • Adding Language Support for Telugu / Bug Fix in Kannada (#263)
    • Add support of Kazakh language (KZ) (#306)
    • Update README.rst (#307)
    • Added support for Hungarian language (#310)
    • [UPD] Readme file (#363)
    • [ADD] num2words: add traslation to spanish of several currencies (#356)
    • added swedish language including test cases (#352)
    • Remove dupplicated line in lang_PT_BR (#355)
    • Fix ordinal_num output for Dutch (NL) (#369)
    • Polishordinals (#367)
    • [tr] return Turkish 0 ordinal and cardinal (#347)
    • Improve Ukrainian support and minor fixes in CZ, KZ, LT, LV, PL, RU, SR languages (#400)
    • feat: ci: replace travis by github workflows (#448)
    • [ES] Added missing accents («dieciséis», «dólar», «dólares», «veintiún»), improved currency gender handling, fixed pound cent names (#443)

    Version 0.5.10 — 2019/05/12

    • Add Kannada language localization (#243)
    • Revert some copyrights changed by mistake (#254)
    • Add indian rupee to the supported currencies (#248)
    • Improve currency functions for German and French (#247)
    • Improve Slovene localization (#246)
    • Improve Spanish localization (#240)
    • Fix typo ‘seperator’ on source code (#238)
    • Convert string to decimal values (#223)
    • Improve German localization and test coverage (#237)
    • Improve Polish localization (#233)
    • Fix ordinal number for French ending on 1 (#236)

    Version 0.5.9 — 2019/01/10

    • Fix encoding issue on release 0.5.8 (#229)
    • Improve Polish localization (#228)

    Version 0.5.8 — 2018/11/17

    • Add Portuguese (Portugal) localization (#198)
    • Add a command line tool to use num2words
    • Use language iso code for Vietnamese
    • Improve Korean localization (#219)
    • Improve Serbian (Latin) localization (#207)
    • Improve testing setup (#220)
    • Improve German localization (#214) (#222)
    • Improve Romanian localization (#215)
    • Improve Spanish localization (#187) (#200)
    • Improve Russian localization (#211) (#212)
    • Improve French localization (23902ab)
    • Improve Arabic localization (#176)
    • Improve Lithuanian and Latvian localization (#185)
    • Improve Ukrainian localization (#183)

    Version 0.5.7 — 2018/06/27

    • Add Finnish localization. (#170)
    • Add Japanese localization. (#171)
    • Add belgian-french localization. (#151)
    • Add Czech localization. (#154)
    • Add Thai localization. (#139)
    • Improve English localization. (#144)
    • Improve Spanish localization. (#167)
    • Improve Italian localization. (#143)
    • Improve documentation. (#155, #145, #174)

    Version 0.5.6 — 2017/11/22

    • Refactor to_currency (#135)
    • Allow the use of other convertes to_currency, to_year (#95)
    • Fix code to respect PEP8 (#98, #105)
    • Add Slovene localization (#97)
    • Add Ukrainian localization (#93)
    • Add Dutch localization (#91)
    • Add Algeria-French localization (#86)
    • Add Turkish localization (#85)

    Version 0.5.5 — 2017/07/02

    • Add Arabic localization (#72)
    • Add Spanish-Colombian and Spanish-Venezuelan localization (#67)
    • Add VietNam localization (#61)
    • Add Italian localization (#56, #59)
    • Improve Russian localization (#62)
    • Improve Polish localization (#58)

    Version 0.5.4 — 2016/10/18

    • Tons of new languages!
    • Add Polish localization. (#23)
    • Add Swiss-French localization. (#38)
    • Add Russian localization. (#28, #46, #48)
    • Add Indonesian localization. (#29)
    • Add Norwegian localization. (#33)
    • Add Danish localization. (#40)
    • Add Brazilian localization. (#37, #47)
    • Improve German localization. (#25, #27, #49)
    • Improve Lithuanian localization. (#52)
    • Improve floating point spelling. (#24)

    Version 0.5.3 — 2015/06/09

    • Fix packaging issues. (#21, #22)

    Version 0.5.2 — 2015/01/23

    • Added Latvian localization. (#9)
    • Improved Spanish localization. (#10, #13, #14)
    • Improved Lithuanian localization. (#12)

    Version 0.5.1 — 2014/03/14

    • Added Python 3 support with 2to3. (#3)
    • Fixed big numbers in spanish. (#2)
    • Fixed bugs in tanslation from 30 to 40 in spanish. (#4)
    • Fixed word joining in english. (#8)

    Version 0.5.0 — 2013/05/28

    • Created num2words based on the old pynum2word project.

    num2words library — Convert numbers to words in multiple languages

    https://travis-ci.org/savoirfairelinux/num2words.svg?branch=master
    https://coveralls.io/repos/github/savoirfairelinux/num2words/badge.svg?branch=master

    num2words is a library that converts numbers like 42 to words like forty-two.
    It supports multiple languages (see the list below for full list
    of languages) and can even generate ordinal numbers like forty-second
    (although this last feature is a bit buggy for some languages at the moment).

    The project is hosted on GitHub. Contributions are welcome.

    Installation

    The easiest way to install num2words is to use pip:

    pip install num2words
    

    Otherwise, you can download the source package and then execute:

    python setup.py install
    

    The test suite in this library is new, so it’s rather thin, but it can be run with:

    python setup.py test
    

    To run the full CI test suite which includes linting and multiple python environments:

    pip install tox
    tox
    

    Usage

    Command line:

    $ num2words 10001
    ten thousand and one
    $ num2words 24,120.10
    twenty-four thousand, one hundred and twenty point one
    $ num2words 24,120.10 -l es
    veinticuatro mil ciento veinte punto uno
    $num2words 2.14 -l es --to currency
    dos euros con catorce céntimos
    

    In code there’s only one function to use:

    >>> from num2words import num2words
    >>> num2words(42)
    forty-two
    >>> num2words(42, to='ordinal')
    forty-second
    >>> num2words(42, lang='fr')
    quarante-deux
    

    Besides the numerical argument, there are two main optional arguments, to: and lang:

    to: The converter to use. Supported values are:

    • cardinal (default)
    • ordinal
    • ordinal_num
    • year
    • currency

    lang: The language in which to convert the number. Supported values are:

    • en (English, default)
    • am (Amharic)
    • ar (Arabic)
    • az (Azerbaijani)
    • cz (Czech)
    • de (German)
    • dk (Danish)
    • en_GB (English — Great Britain)
    • en_IN (English — India)
    • en_NG (English — Nigeria)
    • es (Spanish)
    • es_CO (Spanish — Colombia)
    • es_VE (Spanish — Venezuela)
    • es_GT (Spanish — Guatemala)
    • eu (EURO)
    • fa (Farsi)
    • fi (Finnish)
    • fr (French)
    • fr_CH (French — Switzerland)
    • fr_BE (French — Belgium)
    • fr_DZ (French — Algeria)
    • he (Hebrew)
    • hu (Hungarian)
    • id (Indonesian)
    • is (Icelandic)
    • it (Italian)
    • ja (Japanese)
    • kn (Kannada)
    • ko (Korean)
    • kz (Kazakh)
    • lt (Lithuanian)
    • lv (Latvian)
    • no (Norwegian)
    • pl (Polish)
    • pt (Portuguese)
    • pt_BR (Portuguese — Brazilian)
    • sl (Slovene)
    • sr (Serbian)
    • sv (Swedish)
    • ro (Romanian)
    • ru (Russian)
    • te (Telugu)
    • tg (Tajik)
    • tr (Turkish)
    • th (Thai)
    • vi (Vietnamese)
    • nl (Dutch)
    • uk (Ukrainian)

    You can supply values like fr_FR; if the country doesn’t exist but the
    language does, the code will fall back to the base language (i.e. fr). If
    you supply an unsupported language, NotImplementedError is raised.
    Therefore, if you want to call num2words with a fallback, you can do:

    try:
        return num2words(42, lang=mylang)
    except NotImplementedError:
        return num2words(42, lang='en')
    

    Additionally, some converters and languages support other optional arguments
    that are needed to make the converter useful in practice.

    Wiki

    For additional information on some localization please check the Wiki.
    And feel free to propose wiki enhancement.

    History

    num2words is based on an old library, pynum2word, created by Taro Ogawa
    in 2003. Unfortunately, the library stopped being maintained and the author
    can’t be reached. There was another developer, Marius Grigaitis, who in 2011
    added Lithuanian support, but didn’t take over maintenance of the project.

    I am thus basing myself on Marius Grigaitis’ improvements and re-publishing
    pynum2word as num2words.

    Virgil Dupras, Savoir-faire Linux

    Like this post? Please share to your friends:
  • Python delete word from string
  • Python open file with excel
  • Python datetime from excel
  • Python dataframe from excel
  • Python csv for excel