#text #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


362 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.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),
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