english_numbers/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
//! # english-numbers
//!
//! A library for converting integers to their written-english formats.
//! Supports both American "short" and European "long" number formats.
mod groups;
mod hundreds;
mod tens;
mod words;
mod formatting;
#[cfg(test)]
mod test;
pub use formatting::Formatting;
/// Converts a number to it's written format, using "short" format.
///
/// Arguments:
/// * `val`: the `i64` to convert
/// * `fmt`: the formatting options to use
pub fn convert(val: i64, fmt: Formatting) -> String
{
groups::Groups::new(val)
.build(false)
.build(fmt)
}
/// Converts a number to it's written format, using "short" format with all formatting options enabled.
///
/// # Arguments:
/// * `val` - the `i64` to convert
pub fn convert_all_fmt(val: i64) -> String
{
groups::Groups::new(val)
.build(false)
.build(Formatting::all())
}
/// Converts a number to it's written format, using "short" format with no formatting options enabled.
///
/// # Arguments:
/// * `val` - the `i64` to convert
pub fn convert_no_fmt(val: i64) -> String
{
groups::Groups::new(val)
.build(false)
.build(Formatting::none())
}
/// Converts a number to it's written format, using "long" format.
///
/// # Arguments:
/// * `val` - the `i64` to convert
/// * `fmt` - the formatting options to use
pub fn convert_long(val: i64, fmt: Formatting) -> String
{
groups::Groups::new(val)
.build(true)
.build(fmt)
}