6 releases

Uses old Rust 2015

0.3.3 Apr 22, 2017
0.3.2 Apr 22, 2017
0.2.0 Apr 22, 2017
0.1.0 Apr 22, 2017

#194 in Value formatting

Download history 1764/week @ 2024-02-26 1584/week @ 2024-03-04 1494/week @ 2024-03-11 1458/week @ 2024-03-18 1662/week @ 2024-03-25 1599/week @ 2024-04-01 1578/week @ 2024-04-08 1267/week @ 2024-04-15 1673/week @ 2024-04-22 1645/week @ 2024-04-29 1640/week @ 2024-05-06 1288/week @ 2024-05-13 1899/week @ 2024-05-20 1915/week @ 2024-05-27 1771/week @ 2024-06-03 1706/week @ 2024-06-10

7,423 downloads per month
Used in 14 crates (11 directly)

MIT license

548 lines



Convert your boring old i64's to shiny new String's!

Use this libary to spell out numbers, as you would when reading them. Choose from a variety of formatting options, from title-case with spaces, commas, and 'and''s where they should be, to nothing but lowercase letters, and everything in between.

Important Functions

fn convert(val: i64, fmt: Formatting) -> String

This is the base function, set your val, and then play around with the options in the Formatting struct to get the precise output you desire.

fn convert_all_fmt(val: i64) -> String

Use this function to get an output with all the bells and whistles, example:

123456789 -> "One Hundred and Twenty-Three Million, Four Hundred and Fifty-Six Thousand, Seven Hundred and Eighty-Nine"

Much better, right?

fn convert_no_fmt(val: i64) -> String

Use this function to get an output as bare-bones as possible, no spaces, no hyphens, no nothing! Example:

9223372036854775807 -> "ninequintilliontwohundredtwentythreequadrillionthreehundredseventytwotrillionthirtysixbillioneighthundredfiftyfourmillionsevenhundredseventyfivethousandeighthundredseven"

If that isn't easy to read, I don't know what is!

fn convert_long(val: i64, fmt: Formatting) -> String

Use this to convert using the "long" numbering format, used in the EU and French Canada. Example:

1000000000000 -> "One Thousand Million"

Important Structs

struct Formatting
    pub title_case: bool,
    pub spaces: bool,
    pub conjunctions: bool,
    pub commas: bool,
    pub dashes: bool,

This struct handles all the formatting options that you can specify, feel free to mix-and-match to your needs!

Use the functions Formatting::all() and Formatting::none() to get the pre-built formatting values you expect.

No runtime deps