ntw

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2019 License: MIT Imports: 2 Imported by: 0

README

number-to-words

GoDoc Build Status Coverage Status Go Report Card

Convert numbers to words.

Supported languages

  • American English / United States of America [en] 🇺🇸

  • Français / France [fr] 🇫🇷

  • Français (Belge) / Belgium [fr-be] 🇧🇪

  • Italiano / Italy [it] 🇮🇹

  • Spanish / Spain [es] 🇪🇸

  • Swedish / Sweden [se] 🇸🇪

  • Dutch / Netherlands [nl] 🇳🇱

  • Turkish / Turkey [tr] 🇹🇷

  • Portuguese / Portugal [pt-pt] 🇵🇹

  • Polish / Poland [pl-pl] 🇵🇱

  • Russian / Russia [ru-ru] 🇷🇺

  • Roman Numbers

  • Roman Numbers (with Unicode) Ⅷ

  • Aegean numerals

CLI usage

$ number-to-words --lang=fr 42
quarante-deux

$ number-to-words --lang=fr-be 92
nonante-deux

$ number-to-words --lang=it 42
quarantadue

$ number-to-words --lang=es 42
cuarenta y dos

$ number-to-words --lang=en 42
forty-two

$ number-to-words --lang=se 42
fyrtio-två

$ number-to-words --lang=nl 42
tweeenveertig

$ number-to-words --lang=pl 42
czterdzieści dwa

$ number-to-words --lang=tr 42
kırk iki

$ number-to-words --lang=pt-pt 42
quarenta e dois

$ number-to-words --lang=roman 42
XLII

$ number-to-words --lang=roman-unicode
ⅩⅬⅡ

$ number-to-words --lang=aegean 42
𐄓𐄈

default language is english

$ number-to-words 42
forty-two

print every supported language at once

$ number-to-words --lang=all 42
forty-two
quarante-deux
quarante-deux
quarantadue
cuarenta y dos
fyrtio-två
tweeenveertig
kırk iki
quarenta e dois
XLII
𐄓𐄈

$ number-to-words --lang=all 1
one
un
un
uno
uno
en
één
bir
um
I
𐄇

$ number-to-words --lang=all 1337
one thousand three hundred thirty-seven
mille trois cent trente-sept
mille trois cent trente-sept
uno mille trecento trentasette
un mil trescientos treinta y siete
en tusen tre hundra trettio-sju
éénduizend driehonderdzevenendertig
bin üç yüz otuz yedi
mil trezentos e trinta e sete
MCCCXXXVII
𐄢𐄛𐄒𐄍

$ number-to-words --lang=all 1234567890
one billion two hundred thirty-four million five hundred sixty-seven thousand eight hundred ninety
un milliard deux cent trente-quatre millions cinq cent soixante-sept mille huit cent quatre-vingt-dix
un milliard deux cent trente-quatre millions cinq cent soixante-sept mille huit cent nonante
uno miliardo duecento trentaquattro milione cinquecento sessentasette mille ottocento novanta
un mil millones doscientos treinta y cuatro millones quinientos sesenta y siete mil ochocientos noventa
en miljarder två hundra trettio-fyra miljoner fem hundra sextio-sju tusen åtta hundra nittio
één miljard tweehonderdvierendertig miljoen vijfhonderdzevenenzestigduizend achthonderdnegentig
bir milyar iki yüz otuz dört milyon beş yüz altmış yedi bin sekiz yüz doksan
mil milhões duzentos e trinta e quatro milhões quinhentos e sessenta e sete mil oitocentos e noventa

$ number-to-words --lang=all 1000000000000
one trillion
un billion
uno triliardo
un billón
en biljoner
één biljoen
bir trilyon
um bilião
too big number
too big number
--help
$ number-to-words -h
NAME:
   number-to-words - number to number

USAGE:
   number-to-words [global options] command [command options] [arguments...]

VERSION:
   0.1.0

AUTHOR(S):
   Manfred Touron <https://github.com/moul/number-to-words>

COMMANDS:
GLOBAL OPTIONS:
   --lang value, -l value   Set language (default: "en") [$NTW_LANGUAGE]
   --help, -h               show help
   --version, -v            print the version

AVAILABLE LANGUAGES:
   European Spanish (es, es-es, es_ES, spanish) 🇪🇸
   Belgian French (fr-be, fr_BE, belgian) 🇧🇪
   French (fr, fr-fr, fr_FR, french) 🇫🇷
   Italian (it, it-it, it_IT, italian) 🇮🇹
   Roman Numbers (with Unicode) (roman-unicode)
   Swedish (sv-se, sv_SE, swedish) 🇸🇪
   Aegean (aegean)
   American English (en, en-us, es_US, american, english) 🇺🇸  *default*
   Dutch (nl, dutch, nl-nl, nl_NL) 🇳🇱
   Portuguese (Portugal) (pt, pt-pt, pt_PT, portuguese) 🇵🇹
   Polish (Poland) (pl, pl-pl, pl_PL, polish) 🇵🇱
   Roman Numbers (roman)
Unicode support

Roman support the --unicode option.

$ for i in {1..20}; do ./number-to-words -l roman -u $i; done
Ⅰ
Ⅱ
Ⅲ
Ⅳ
Ⅴ
Ⅵ
Ⅶ
Ⅷ
Ⅸ
Ⅹ
Ⅺ
Ⅻ
ⅩⅢ
ⅩⅣ
ⅩⅤ
ⅩⅥ
ⅩⅦ
ⅩⅧ
ⅩⅨ
ⅩⅩ

API usage

import "github.com/moul/number-to-words"

fmt.Println(ntw.IntegerToFrFr(42)) // french
// Outputs: quarante-deux
fmt.Println(ntw.IntegerToFrBe(92)) // belgian french
// Outputs: nonante-deux

fmt.Println(ntw.IntegerToEnUs(42)) // american english
// Outputs: forty-two

fmt.Println(ntw.IntegerToItIt(42)) // italian
// Outputs: quarantadue

fmt.Println(ntw.IntegerToEsEs(42)) // spanish
// Outputs: cuarenta y dos

fmt.Println(ntw.IntegerToSvSe(42)) // swedish
// Outputs: fyrtio-två

fmt.Println(ntw.IntegerToNlNl(42)) // dutch
// Outputs: tweeenveertig

fmt.Println(ntw.IntegerToPlPl(42)) // polish
// Outputs: czterdzieści dwa

fmt.Println(ntw.IntegerToTrTr(42)) // turkish
// Outputs: kırk iki

fmt.Println(ntw.IntegerToPtPt(42)) // portuguese (portugal)
// Outputs: quarenta e dois

fmt.Println(ntw.IntegerToRoman(42)) // roman
// Outputs: XLII

fmt.Println(ntw.IntegerToRomanUnicode(42)) // roman (unicode)
// Outputs: ⅩⅬⅡ

fmt.Println(ntw.IntegerToAegean(42)) // aegean (unicode)
// Outputs: 𐄓𐄈

Install

Using Golang
  1. install and configure go on your host
  2. get and build: go get github.com/moul/number-to-words/cmd/number-to-words
  3. profit: $GOPATH/bin/number-to-words 42
Using Homebrew

coming soon

Using Docker
  1. install and configure docker on your host
  2. profit: docker run --rm moul/number-to-words 42

License

MIT

Documentation

Index

Examples

Constants

View Source
const Version = "0.2.0"

Version represents the package version

Variables

View Source
var Languages = LanguageList{}

Functions

func IntegerToAegean

func IntegerToAegean(input int) string

IntegerToAegean converts an integer to Aegean words

Example
fmt.Println(IntegerToAegean(42))
Output:

𐄓𐄈

func IntegerToEnUs added in v0.1.1

func IntegerToEnUs(input int) string

IntegerToEnUs converts an integer to American English words

Example
fmt.Println(IntegerToEnUs(42))
Output:

forty-two

func IntegerToEsEs added in v0.1.1

func IntegerToEsEs(input int) string

IntegerToEsEs converts an integer to spanish words

Example
fmt.Println(IntegerToEsEs(42))
Output:

cuarenta y dos

func IntegerToFrBe added in v0.1.1

func IntegerToFrBe(input int) string

IntegerToFrBe converts an integer to French (belgium) words

Example
fmt.Println(IntegerToFrBe(42))
fmt.Println(IntegerToFrBe(92))
Output:

quarante-deux
nonante-deux

func IntegerToFrFr added in v0.1.1

func IntegerToFrFr(input int) string

IntegerToFrFr converts an integer to French words

Example
fmt.Println(IntegerToFrFr(42))
Output:

quarante-deux

func IntegerToItIt added in v0.1.1

func IntegerToItIt(input int) string

IntegerToItIt converts an integer to Italian words

Example
fmt.Println(IntegerToItIt(42))
Output:

quarantadue

func IntegerToNlNl added in v0.1.1

func IntegerToNlNl(input int) string

IntegerToNlNl converts an integer to Dutch words

Example
fmt.Println(IntegerToNlNl(42))
Output:

tweeenveertig

func IntegerToPlPl added in v0.1.1

func IntegerToPlPl(input int) string

func IntegerToPtPt added in v0.1.1

func IntegerToPtPt(input int) string

func IntegerToRoman

func IntegerToRoman(input int) string

IntegerToRoman converts an integer to Roman words

Example
fmt.Println(IntegerToRoman(42))
Output:

XLII

func IntegerToRomanUnicode added in v0.1.1

func IntegerToRomanUnicode(input int) string

func IntegerToRuRu added in v0.1.1

func IntegerToRuRu(input int) string

IntegerToRuRu converts an integer to Russian words

func IntegerToSvSe added in v0.1.1

func IntegerToSvSe(input int) string

IntegerToSvSe converts an integer to Swedish words

Example
fmt.Println(IntegerToSvSe(42))
Output:

fyrtio-två

func IntegerToTrTr added in v0.1.1

func IntegerToTrTr(input int) string

IntegerToTrTr converts an integer to Turkish words

Example
fmt.Println(IntegerToTrTr(42))
Output:

kırk iki

Types

type Language added in v0.1.1

type Language struct {
	Name    string
	Aliases []string
	Flag    string

	IntegerToWords func(int) string
}

func (Language) HelpText added in v0.1.1

func (lang Language) HelpText() string

type LanguageList added in v0.1.1

type LanguageList map[string]Language

func (LanguageList) Default added in v0.1.1

func (langs LanguageList) Default() Language

func (LanguageList) Lookup added in v0.1.1

func (langs LanguageList) Lookup(key string) *Language

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL