# Python num2words-將數字轉換為多種語言的單詞 ###### tags: `Python` ## 參考資料 [num2words](https://pypi.org/project/num2words/) ## 項目描述 num2words 是一個可以將數字轉換為文字的函式庫。 例如:42->forty-two,它也支援多種語言(有關語言的完整列表,請參見下面的列表)。 同時也可以產生序數(first、second、third)。 不知道序數是啥,可參考:[英文序數寫法與唸法 Ordinal Numbers](http://www.wordsgo.com/numbers/ordinal-numbers/english-ordinal-numbers.html) ## 安裝 num2words 安裝 num2words 的最簡單方法是使用pip3: ```shell= pip3 install num2words ``` ## 使用 num2words num2words 只有一個函數 num2words 可以使用。 範例程式碼如下: ```python= >>> from num2words import num2words >>> num2words(42) forty-two >>> num2words(42, to='ordinal') forty-second >>> num2words(1, to='ordinal_num') 1st >>> num2words(42, lang='fr') quarante-deux >>> num2words(1998,to='year') nineteen ninety-eight ``` 除了數值參數外,還有兩個主要的可選參數。 to:選擇要轉換成什麼,支援的參數值有: * cardinal (預設) * ordinal (序數) * ordinal_num (用阿拉伯數字表達序數) * year (西元年分轉換) * currency (貨幣值轉換) lang:選擇要轉換的語言,支援的參數值有: * en(英語,默認) * ar(阿拉伯語) * cz(捷克文) * de(德文) * dk(丹麥文) * en_GB(英語-英國) * en_IN(英語-印度) * es(西班牙語) * es_CO(西班牙語-哥倫比亞) * es_VE(西班牙語-委內瑞拉) * eu(歐洲) * fi(芬蘭語) * fr(法文) * fr_CH(法國-瑞士) * fr_BE(法國-比利時) * fr_DZ(法語-阿爾及利亞) * he(希伯來語) * id(印尼文) * it(意大利語) * ja(日語) * kn(卡納達語) * ko(韓文) * lt(立陶宛語) * lv(拉脫維亞語) * no(挪威文) * pl(波蘭語) * pt(葡萄牙語) * pt_BR(葡萄牙語-巴西) * sl(斯洛文尼亞) * sr(塞爾維亞文) * ro(羅馬尼亞語) * ru(俄語) * tr(土耳其文) * th(泰國) * vi(越南語) * nl(荷蘭語) * uk(烏克蘭)