Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Numbertext: liczby słownie (i jeszcze więcej)

2 lata temu na łamach bloga OpenOffice.org w praktyce opublikowałem wpis instruujący, jak za pomocą prostego makropolecenia zautomatyzować sobie pracę w Calcu. Wczoraj zaś odkryłem rozszerzenie, które robi to samo i jeszcze więcej!

Numbertext, bo tak brzmi jego nazwa, to dodatek, który nie tylko zmienia zapis liczbowy na słowny, ale również konwertuje liczby na walutę. Ponadto potrafi skonwertowaną walutę zapisać w nastu obcych językach! Kolejnym pulsem tego dodatku jest jego forma. Dzięki dystrybucji w postaci rozszerzenia, każdy użytkownik poradzi sobie z jego integracją (instalacją) z OpenOffice.org.

Rozszerzenie Numbertext jest odpowiedzią na (ograniczoną) funkcję BAHTTEXT w Excelu. Zanim jeszcze przejdziemy do głównej części tego wpisu, dopowiem, że społeczność skupiona wokół tej funkcji usiłowała zastąpić nią BAHTTEXT w specyfikacji OpenDocumentFormat Formula (ODFF) w ODF 1.2.

Po instalacji dodatku, będziemy mogli w Calcu operować na dwóch nowych funkcjach. Na NUMBERTEXT oraz na MONEYTEXT.

Przykład 1.

Aby zapisać liczbę 12345678 słownie, korzystamy z pierwszej funkcji, a zapisujemy ją następująco: =NUMBERTEXT(12345678)

Wynik: dwanaście milionów trzysta czterdzieści pięć tysięcy sześćset siedemdziesiąt osiem

Jeśli chcemy zapisać liczbę w obcym języku, używamy składni =NUMBERTEXT(1234567;"KOD_JĘZYKA"). Do testu użyłem języka domyślnego (polskiego), francuskiego (Szwajcaria), hiszpańskiego, niemieckiego, czeskiego, rosyjskiego i tajskiego. Kod dla poszczególnych języków to:

=NUMBERTEXT(12345678)=NUMBERTEXT(12345678;"fr-CH")=NUMBERTEXT(12345678;"es-ES")=NUMBERTEXT(12345678;"de-DE")=NUMBERTEXT(12345678;"cs-CZ")=NUMBERTEXT(12345678;"ru-RU")=NUMBERTEXT(12345678;"th-TH")

Wynik:dwanaście milionów trzysta czterdzieści pięć tysięcy sześćset siedemdziesiąt osiemdouze millions trois cent quarante-cinq mille six cent septante-huitdoce millones trescientos cuarenta y cinco mil seiscientos setenta y ochozwölf Millionen dreihundertfünfundvierzigtausendsechshundertachtundsiebzigdvanáct milionů tři sta čtyřicet pět tisíce šest set sedmdesát osm?????????? ????????? ?????? ????? ???? ????? ???????? ????????? ????????????????????????????????????????????????????

Przykład 2.

Aby skonwertować liczbę na walutę, wpisujemy funkcję =MONEYTEXT(50). Funkcja ta również doskonale sobie radzi z odmianą liczb po przecinku.

Wynik:pięćdziesiąt złotychpięćdziesiąt złotych osiemdziesiąt groszypięćdziesiąt złotych osiem groszy

Chcąc zaznaczyć, że chodzi nam obcą walutę, posługujemy się analogicznym zapisem: =MONEYTEXT(50;"KOD_WALUTY"). W tym przypadku użyłem "GBP" i "CNY" dla waluty Królestwa Wielkiej Brytanii i Chin.

Wynik:pięćdziesiąt funtów szterlingówpięćdziesiąt funtów szterlingów osiemdziesiąt pensówpięćdziesiąt funtów szterlingów osiem pensów

pięćdziesiąt juanówpięćdziesiąt juanów osiem jiaopięćdziesiąt juanów osiem fenów

Natomiast jeśli chcemy zapisać słownie obcą walutę w obcym języku, korzystamy z funkcji =MONEYTEXT(50;"KOD_WALUTY";"KOD_KRAJU"). W ten oto sposób możemy zapisać zdanie "pięćdziesiąt funtów szterlingów" w języku mandaryńskim, lub też zdanie "pięćdziesiąt juanów" możemy zapisać po angielsku.

Kod:=MONEYTEXT(50;"GBP";"zh-ZH")=MONEYTEXT(50;"CNY";"en-GB")

Wynik:????fifty Chinese yuan

Ten artykuł został oryginalnie opublikowany na łamach poradnika OpenOffice.org w praktyce.http://openofficeorgpl.blogspot.com/2009/09/numbertext-liczby-sownie-i... 

Komentarze

Cebula REDAKCJA  11 #1 07.09.2009 11:01

Prosimy na blogu nie publikować przedruków. Nie chcemy żeby blog był miejscem powielania istniejących publikacji.