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
.
Add roman_numerals
to your Cargo.toml
, or run the following command:
cargo add roman-numerals
The library is available on crates.io.
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(), "M̄");
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));
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.