#numeral #convert #numbers #roman #system #arabic #vice

roman-numerals

Converts numbers to roman numerals and vice versa

4 releases (breaking)

0.4.0 Nov 5, 2023
0.3.0 Nov 5, 2023
0.2.0 Nov 5, 2023
0.1.0 Nov 5, 2023

#254 in Value formatting

MIT/Apache

15KB
215 lines

Roman Numerals

This library can help you convert numbers in our Base 10 Arabic Numeral System to Roman Numeral System, and vice versa.

Using this library you can parse arbitrarily large numbers, including in the thousands, millions, billions, and above, as long as they fit into the u128 type or smaller.

It is compatible with all unsigned integer types, from u8 to u128, including usize.

Installation

Add roman_numerals to your Cargo.toml, or run the following command:

cargo add roman-numerals

The library is available on crates.io.

Usage

Convert to Roman

use roman_numerals::ToRoman;

assert_eq!(1u32.to_roman(), "I");
assert_eq!(2u32.to_roman(), "II");
assert_eq!(3u32.to_roman(), "III");
assert_eq!(1_000_000u64.to_roman(), "");

Parse Roman

use roman_numerals::FromRoman;

assert_eq!(u32::from_roman("ABC"), None);
assert_eq!(u32::from_roman("I"), Some(1));
assert_eq!(u32::from_roman("II"), Some(2));
assert_eq!(u32::from_roman("III"), Some(3));

Contributing

You can start a development environment instantly on this library by clicking this link. You need Docker Desktop installed and running on your machine for it to work.

No runtime deps