#text #french #numbers

french-numbers

Represent numbers in French language

20 releases (7 stable)

Uses new Rust 2021

1.1.4 Oct 27, 2021
1.1.2 Jul 29, 2021
1.1.1 Aug 11, 2020
1.1.0 Dec 16, 2018
0.1.7 May 5, 2017

#15 in Value formatting

Download history 10/week @ 2021-10-02 33/week @ 2021-10-09 20/week @ 2021-10-16 206/week @ 2021-10-23 29/week @ 2021-10-30 47/week @ 2021-11-06 246/week @ 2021-11-13 12/week @ 2021-11-20 32/week @ 2021-11-27 51/week @ 2021-12-04 25/week @ 2021-12-11 23/week @ 2021-12-18 18/week @ 2021-12-25 13/week @ 2022-01-01 33/week @ 2022-01-08 19/week @ 2022-01-15

84 downloads per month
Used in numbers

Apache-2.0/MIT

115KB
362 lines

french-numbers

Build Status Current Version Documentation License: Apache-2.0/MIT

This crate transforms a number into its French representation.

Using this crate

In your Cargo.toml, put:

[dependencies]
french-numbers = "1.1.4"

You can then use the french_number function from the french_numbers crate to format any integer into the beautiful French romance language:

use french_numbers::french_number;

assert_eq!(french_number(&71), "soixante-et-onze");
assert_eq!(french_number(&1001), "mille-un");
assert_eq!(french_number(&-200001), "moins deux-cent-mille-un");
assert_eq!(french_number(&-200000001), "moins deux-cents-millions-un");
assert_eq!(french_number(&-204000001), "moins deux-cent-quatre-millions-un");

You can also request the use of the feminine form, or prefer the previous way of writing numbers predating the 1990 orthographic reform:

use french_numbers::*;

assert_eq!(french_number_options(&37251061, &POST_REFORM_MASCULINE),
           "trente-sept-millions-deux-cent-cinquante-et-un-mille-soixante-et-un");
assert_eq!(french_number_options(&37251061, &POST_REFORM_FEMININE),
           "trente-sept-millions-deux-cent-cinquante-et-un-mille-soixante-et-une");
assert_eq!(french_number_options(&37251061, &PRE_REFORM_FEMININE),
           "trente-sept millions deux cent cinquante et un mille soixante et une");
assert_eq!(french_number_options(&37251061, &PRE_REFORM_MASCULINE),
           "trente-sept millions deux cent cinquante et un mille soixante et un")

An example program can dump particular number, with different options:

% cargo run --example french-number -- --help
Print number(s) in French

USAGE:
    french-number [FLAGS] <LOW> [HIGH]

FLAGS:
    -f, --feminine     use the feminine declination
    -h, --help         Prints help information
    -r, --no-reform    use the pre-1990 orthographic reform writing
    -p, --prefix       prefix output with the numerical representation
    -V, --version      Prints version information

ARGS:
    <LOW>     number (or low bound) to use
    <HIGH>    optional high bound

Dependencies

’›xa