#numbers #converter #roman #language #italian

italian_numbers

一组函数,用于将数字转换为意大利语文字表示形式,以及罗马数字表示形式,反之亦然

1 个不稳定版本

0.1.0 2024年5月19日

#77 in 国际化(i18n)


用于 xrust

MIT 许可证

105KB
3K SLoC

italian_numbers

用途

将数字转换为意大利语文字表示形式,反之亦然

支持从 -999999999999(九百九十九亿九千九百九十九亿九千九百九十九万九千九百九十九)到 999999999999(九百九十九亿九千九百九十九亿九千九百九十九万九千九百九十九)的正负整数。

表示形式可以是基数词(一个、两个、三个...)或序数词(第一、第二、第三...)。序数词也可以翻译成阴性形式(第一、第二、第三...)、复数形式(第一、第二、第三...)或阴性复数形式(第一、第二、第三...)。

将阿拉伯数字转换为罗马数字,反之亦然

支持从 1(I)到 3999(MMMCMXCIX)的正整数。

安装

使用以下命令安装

cargo add italian_numbers

用法

use italian_numbers::roman_converter{cardinal_converter, ordinal_converter, roman_converter, arabic_converter, Options};

// Cardinal numbers representation
cardinal_converter(1); // "uno"
cardinal_converter(90); // "novanta"
cardinal_converter(709); // "settecentonove"

// Ordinal numbers representation
ordinal_converter(1); // "primo"
ordinal_converter(10); // "decimo"
ordinal_converter(63); // "sessantatreesimo"

ordinal_converter(1, Options::new(true, false)); // "prima"
ordinal_converter(15, Options::new(true, false)); // "quindicesima"
ordinal_converter(109, Options::new(true, false)); // "centonovesima"

ordinal_converter(1, Options::new(false, true)); // "primi"
ordinal_converter(18, Options::new(false, true)); // "diciottesimi"
ordinal_converter(89, Options::new(false, true)); // "ottantanovesimi"

ordinal_converter(1, Options::new(true, true)); // "prime"
ordinal_converter(70, Options::new(true, true)); // "settantesime"
ordinal_converter(110, Options::new(true, true)); // "centodecime"

// Arabic to Roman
roman_converter(1); // "I"
roman_converter(79); // "LXXIX"
roman_converter(2_317); // "MMCCCXVII"

// Roman to Arabic
arabic_converter(String::from("MD")); // 1_500
arabic_converter(String::from("CDXC")); // 490
arabic_converter(String::from("MCMXC")); // 1_990

// Italian word representation to number
italian_converter(String::from("uno")); // 1
italian_converter(String::from("novantasette")); // 97
italian_converter(String::from("un milione tredicimila")); // 1_013_000
italian_converter(String::from("zeresimo")); // 0
italian_converter(String::from("prima")); // 1
italian_converter(String::from("quattrocentotredicesime")); // 413

依赖项

~2.2–3MB
~53K SLoC