#text #numbers #french


Represent numbers in French language

17 releases (4 stable)

1.1.1 Aug 11, 2020
1.1.0 Dec 16, 2018
1.0.1 Sep 27, 2018
0.1.12 Sep 18, 2018
0.1.7 May 5, 2017

#8 in Value formatting

Download history 18/week @ 2020-06-30 16/week @ 2020-07-07 33/week @ 2020-07-14 2/week @ 2020-07-28 1/week @ 2020-08-04 64/week @ 2020-08-11 22/week @ 2020-08-18 24/week @ 2020-08-25 38/week @ 2020-09-01 36/week @ 2020-09-08 6/week @ 2020-09-15 4/week @ 2020-09-22 21/week @ 2020-09-29 4/week @ 2020-10-06 4/week @ 2020-10-13

87 downloads per month
Used in numbers


352 lines


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:

french-numbers = "1.1.1"

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),
assert_eq!(french_number_options(&37251061, &POST_REFORM_FEMININE),
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

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

    -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

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