whoa_german_numbers/
lib.rs

1/*!
2`whoa-german-numbers` is a crate that parses and converts written german numbers like "dreitausend" back and forth into integers.
3
4
5Notably, numbers are not segmented by spaces or dashes in german - meaning they can be quite unruly sometimes.
6
7### Usage
8```
9use whoa_german_numbers::{number_to_text, text_to_number};
10
11let num = text_to_number("zwölf");
12assert_eq!(num.unwrap(), 12);
13
14let str = number_to_text(121);
15assert_eq!(str, "einhunderteinundzwanzig");
16```
17*/
18
19/// Convert written german numbers like "dreitausend" to integers (like 3000).
20/// # Example
21/// ```
22/// use whoa_german_numbers::text_to_number;
23///
24/// assert_eq!(text_to_number("fünf").unwrap(), 5);
25/// assert_eq!(text_to_number("fünfte").unwrap(), 5);
26/// assert_eq!(text_to_number("zweihundertzehn").unwrap(), 210);
27/// ```
28/// returns an Option<i32> which is None when no valid number is found
29///
30/// ```
31/// use whoa_german_numbers::text_to_number;
32///
33/// assert_eq!(text_to_number("foobar").is_none(), true);
34/// ```
35pub mod to_number;
36pub use to_number::to_number as text_to_number;
37
38/// Convert an integer (like 81), into a german text number, like "einundachtzig".
39/// # Example
40/// ```
41/// use whoa_german_numbers::number_to_text;
42///
43/// assert_eq!(number_to_text(81), "einundachtzig");
44/// assert_eq!(number_to_text(5), "fünf");
45/// ```
46pub mod to_text;
47pub use to_text::to_text as number_to_text;