SkillAgentSearch skills...

Num2words

Convert numbers like 42 to forty-two

Install / Use

/learn @Ballasi/Num2words
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

num2words

<a href="https://crates.io/crates/num2words"><img src="https://img.shields.io/crates/v/num2words"/></a> <a href="https://crates.io/crates/num2words"><img src="https://img.shields.io/crates/d/num2words"/></a> <a href="https://docs.rs/num2words"><img src="https://img.shields.io/docsrs/num2words"/></a> <a href="#license"><img src="https://img.shields.io/crates/l/num2words"/></a>

Convert numbers like 42 to forty-two

Usage

This crate can be either used as a library or a binary.

Library

Example usage:

use num2words::Num2Words;
assert_eq!(Num2Words::new(42).to_words(), Ok(String::from("forty-two")));

The builder Num2Words can take any of these methods: lang, cardinal, ordinal, ordinal_num, year, and currency.

use num2words::*;
assert_eq!(
    Num2Words::new(42).lang(Lang::French).to_words(),
    Ok(String::from("quarante-deux"))
);
assert_eq!(
    Num2Words::new(42).ordinal().to_words(),
    Ok(String::from("forty-second"))
);
assert_eq!(
    Num2Words::new(42.01).currency(Currency::DOLLAR).to_words(),
    Ok(String::from("forty-two dollars and one cent"))
);

These arguments can be chained.

For more information about the available languages, outputs types and currencies, see Information.

Binary

This crate provides a command-line interface to run requests on num2words.

Example:

$ num2words 42
forty-two
$ num2words 10 --to UAH --lang uk
десять гривень

You can download the app via the following command:

$ cargo install num2words

You can also change the language via the CLI argument --lang [locale] and provide a specific output type or a currency with the argument --to [cardinal|ordinal|ordinal_num|year|ISO 4217].

For more information about the usage of num2words please refer to the docs or via the following command:

$ num2words --help

Information

Supported languages

Here is a list of all of the supported languages:

| Flag | Code | Locale | Language | 42 | | ---- | ----------------- | --------- | ----------- | ------------- | | 🇺🇸🇬🇧 | Lang::English | en | English | forty-two | | 🇫🇷🇨🇦 | Lang::French | fr | French | quarante-deux | | 🇧🇪🇨🇩 | Lang::French_BE | fr_BE | French (BE) | quarante-deux | | 🇨🇭 | Lang::French_CH | fr_CH | French (CH) | quarante-deux | | 🇺🇦 | Lang::Ukrainian | uk | Ukrainian | сорок два |

This list can be expanded! Contributions are welcomed.

Supported output types

Here is a list of all of the supported outputs types (with the associated command-line interface code):

| Library method | CLI argument | Example output | | ---------------- | ------------- | -------------------------------------- | | .cardinal() | cardinal | forty-two (42) | | .ordinal() | ordinal | forty-second (42) | | .ordinal_num() | ordinal_num | 42nd (42) | | .year() | year | nineteen oh-one (1901) | | .currency(cur) | ISO 4217 code | forty-two dollars and one cent (42.01) |

Supported currencies

Three-letter enum variants corresponds to the currency's ISO 4217 code, but there are exceptions to accomodate generic terminologies: DINAR, DOLLAR, PESO and RIYAL.

A summary of all of the supported currencies are available in the documentation of Currency.

About

This library is widely inspired by Savoir-faire Linux's Python lib.

License

Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

View on GitHub
GitHub Stars18
CategoryDevelopment
Updated9mo ago
Forks15

Languages

Rust

Security Score

87/100

Audited on Jun 15, 2025

No findings