Average: 4.4 (21 votes)
spreadsheet, , conversion, , number, , function, , numeral, , number, to, text,
Source code:
Post date:
Friday, 22 May, 2009 - 08:59
Week: 138 - Month: 650 - Year: 8,290 - Timeline
Download extension
System Independent version - All releases
Compatible with OpenOffice 4: Unknown
User feedback:
Compatible with OpenOffice 4.x?

NUMBERTEXT and MONEYTEXT are spreadsheet functions for number to number name and currency name conversion proposed for OpenFormula standard. MONEYTEXT is functionally top-compliant with the ECMA/ISO standard BAHTTEXT function, and supports more than 30 languages: Africaans, Belgian French, Brazilian Portuguese, Catalan, Chinese, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Japanese, Korean, Luxembourgish, Polish, Portuguese, Romanian, Russian, Serbian (Latin and Cyrillic), Slovenian, Spanish, Swedish, Swiss French, Thai, Turkish and Vietnamese. For Java jar and JavaScript libraries, see For Writer usage, see Linux Libertine G with Numbertext support and Typography toolbar.

= Installation and usage =
Tools->Extension Manager->Add
After restarting, there are two new Calc functions, NUMBERTEXT() and MONEYTEXT(), i.e.:


Version Operating system Compatibility Release date
0.9.4 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 03/11/2010 - 09:20 More information Download
0.9.3 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 03/08/2010 - 13:52 More information Download
0.9.2 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 07/06/2010 - 09:25 More information Download
0.9.1 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 28/05/2010 - 06:05 More information Download
0.9 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 20/05/2010 - 11:03 More information Download
0.8.2 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 26/04/2010 - 09:34 More information Download
0.8.1 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 22/04/2010 - 09:22 More information Download
0.8 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 19/04/2010 - 09:14 More information Download
0.7.1 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 13/11/2009 - 15:39 More information Download
0.7 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 09/11/2009 - 19:00 More information Download
0.6.1 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 04/09/2009 - 11:37 More information Download
0.5 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 20/08/2009 - 12:00 More information Download
0.4 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 09/08/2009 - 20:04 More information Download
0.2 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 24/07/2009 - 21:31 More information Download
0.1.2 System Independent 2.x, 3.0, 3.1, 3.2, 3.3, 3.4 22/05/2009 - 10:31 More information Download


Dear Developer(s),

After testing this extension with XLS and ODS files in Calc, it was found that #MACRO? error occurs in excel file while ods file does support it. It is suggested to enable the same features for excel file also while accessing it through calc.

Mushtaque Asghar

Dear Mushtaque Asghar,

Thanks for the hint of Eike Rathke in OOo Issue 103746 ( and the excellent Calc Add-in example of Jan Holst Jensen (, the new module (0.3) works well with XLS format, too.


Ho cercato di installare "numbertext" un'estensione di openoffice calc ma
appena immetto come formula "numbertext" attraverso "funzioni" in calc e
faccio riferimento come valore ad una cella che contiene un numero come
risultato mi da "#valore". Se qualcuno può aiutarmi, gli sarei molto grato.
P.S. usare un linguaggio abbastanza semplice perchè non sono un tecnico e ne
capisco poco.
Potete inviare risposta a:
Grazie in anticipo.
Cordiali saluti

Could you send some data about the versions and distributions of your and operating system?


First, many thanks for this splendid and useful extension we have been waiting for years!

From a programming point of view the algorithm is extremely elegant and versatile, compared to other implementations I have seen. Maybe some day I will understand it...

The swedish for 7 is "sju" not "sjo".

Thanks for your report. László

Dear Developer(s),

After testing MONEYTEXT I find the bug in 1 eurocent it's write 10. Follow that link

Nicolas Pagni

Dear Developer(s),

A superb program that I could never write myself - thank you!

If I could be so bold - some grammatical corrections for the Russian "Moneytext" for your consideration:

- for numbers ending in 1 that are not 'teens' (1, 21, 31, 41, 101, 121, etc.): roubles = рубль; kopeks = копейка
- for all numbers ending in 1 in the kopeks column (.01, .21, etc): one = одна


21.00 = двадцать один рубль
21.01 = двадцать один рубль одна копейка
21.21 = двадцать один рубль двадцать одна копейка

first of all: Thanks for this great extension.

In OOo 3.2 (DE; Win XP and Win 7) obviously the language of the document is not recognized by both numbertext and moneytext, so you always have to insert the parameters for language and currency. Do you plan to release an update for OOo 3.2? Would be really great!

Hello, Numbertext 0.8 restores the original function for the Western languages. Many thanks, László

the polish version contains an error in writting 20, 30 and 40 after the coma, it should read "jeden zloty dwadziescia groszy" and instead, it reads "jeden coma dwa zlote". The same error exist in 1,30 / 1,40 and so on...

Thanks for your bug report.

Thank you for this cool and very useful extention!
Found some bugs:
- in many financial documents i must write number of thousands when thousands=1:
1000=одна тысяча, like in english module
- It is not necessary to write lead "ноль рублей" when roubles=0
0,01=одна копейка, for example
- 90=девяносто (not "девятьдесят"), also in Numbertext
- and what rogerclc (02/26/2010 - 08:54) told about, but not only (1, 21, 31, 41). Also for 51, 61, 71, 91
51,51=пятьдесят один рубль пятьдесят одна копейка
61,61=шестьдесят один рубль шестьдесят одна копейка
71,71=семьдесят один рубль семьдесят одна копейка
81,81=восемьдесят один рубль восемьдесят одна копейка
91,91=девяносто один рубль девяносто одна копейка
Numbertext correct is:
- 1,001=одна целая и одна тысячная and so on x,xx1
- 1,01=одна целая и одна сотая and so on [x,21...x,91] step 0,1
- 1,1=одна целая и одна десятая
- x,11= "x" и одиннадцать сотых
- x,011= "x" и одиннадцать тысячных and so on [x,011...x,911] step 0,1
- [0,2...0,9]=["ноль целых две"... "ноль целых девять"] десятых
- may be it's better to limit fractional part to 3 digits after comma before conversion to text. (guess theese values never be used)
I understand that is very difficult task to write in many languages, so i have to thank you again for working on it!

This is is very usefull function but it converts number 100000 to one hundred thousand, instead of that is it possible to convert it to one lakh or 200000 as two lakh or 1,25,000 as one lakh twenty five thousand & so on?

Hello Dhanil, I have added the en-IN module to the Numbertext 0.9.1. A question: what about the ordinal numbers? Now are lakhth and croreth. Regards, László

Works great! Thanks a lot!
But there is a small error converting number "3783,48" to russian.
In Calc (3.2) it gives "Conversion error".
On site it responds "три тысячи рубля сорок восемь копеек"
but should "три тысячи семьсот восемьдесят три рубля сорок восемь копеек".
Maybe you check what is the problem?
Thank you again for your great job!

I had made a bad back reference in one the rules of the Russian module. Fixed in the newest release. Many thanks for your report.


I can't install this plugin on my computer which is running Pardus 2009.2 with all the latest software.

I get the following error message:

loading component library failed: file:///opt/ contains Python and PyUNO, the requierements of the Numbertext extension, but some Linux distributions remove them to separated packages. On Pardus Linux you have to install the openoffice-python package.

Excellent little tool.
Would it be possible to add in traditional chinese numbers used for writing cheques as follows:
零 壹 貳 叁 肆 伍 陸 柒 捌 玖 拾 佰 仟 萬
0 1 2 3 4 5 6 7 8 9 10 100 1000 10000

It would be a very useful option to have.
many thanks

Eg. MONEYTEXT(1230;"CNY";"zh-ZH-2") returns with "壹仟贰佰叁拾". The result is in simplified Chinese characters, so I will add the zh-TW module for the traditional ones in the next release. Thanks for your comment, László supports native number formats of Chinese, Japanese, Korean etc. languages by special formatting codes. Set the cell language to traditional Chinese, and use the following custom number formatting code:


The cell with 1230 will show "壹仟貳佰參拾".

I was really excited to see this extension. I have a desperate need for it. But I need it in a Base Report. I confirmed that it's available in calc, but it does not appear in the Sun Report Builder.

Any ideas on how I could access it from the report?

In russian subunits of USD, GBP & EUR are «male», so digit «2» (that has male/female distinction) must be also «male»: “два цента” not “две цента” (USD, EUR), “два пенса” not “две пенса” (GBP).
Could you fix it?

Also would you be so kind to add in ru_RU -- Ukrainian currency (that is very needful for Russian-speaking Ukrainians) . Just one line:
UAH:(\D+) $(\1: гривна, гривны, гривен, копейка, копейки, копеек)

Thanks in advance!

I'll try posting again, the first try was deleted as spam. The Portuguese spelling of 100 in the numbers 101 to 199 is "cento", not "ciento".

There is no *ciento* nor *cientos* in pt-br numbers. So, numbers having 101 to 199, 400 to 499 and 600 to 999 in any group are spelled wrong. Please, change it to *cento* and *centos* ( file ? ).

Thank you for this great extension.

How can I add a new language. I need this awesome function in Lithuanian language. Can someone tell me how to do that or I can provide necessary translations to someone.
Thanks a bunch.

Good day

I get OpenOffice Calc "Conversion error" (OpenOffice 3.4.1 installed) on Russian (default language) conversions (extension v. 0.8.1).

In case of NUMBERTEX or MONEYTEXT functions applied to numbers:
- from 2'000 to 4'999 or
- from 22'000 to 24'999 or
- from 122'000 to 144'999 and so on.

Corrections for Russian conversions:
1) NUMBERTEXT(1000) = "тысяча", correct version: "одна тысяча"
2) NUMBERTEXT(21000) = "двадцать один тысяч", correct version: "двадцать одна тысяча"
3) NUMBERTEXT(31000) = "тридцать один тысяч", correct version: "тридцать одна тысяча" and so on

Thanks for attention

This and more corrections for Russian conversions on