#numbers #decimal-number #english-words #words #cardinal #ordinal #english

num2en

将整数和小数转换为英语基数词或序数词

1 个稳定版本

1.0.0 2024 年 8 月 17 日

483文本处理

Download history 117/week @ 2024-08-15

117 每月下载量

MIT 许可证

40KB
641

num2en

这是一个包含将任何小于 2128(约 340 阿德干)的整数或小数转换为文字功能的包。
它支持转换为 基数词序数词

函数

要将任何类型为 X 的整数 n 转换为 基数词,调用 X_to_words(n)

assert_eq!(    u8_to_words(1),    "one");
assert_eq!(    i8_to_words(2),    "two");
assert_eq!(   u16_to_words(3),    "three");
assert_eq!(   i16_to_words(4),    "four");
assert_eq!(   u32_to_words(5),    "five");
assert_eq!(   i32_to_words(6),    "six");
assert_eq!(   u64_to_words(70),   "seventy");
assert_eq!(   i64_to_words(71),   "seventy-one");
assert_eq!(  u128_to_words(180),  "one hundred eighty");
assert_eq!(  i128_to_words(211),  "two hundred eleven");
assert_eq!( usize_to_words(1050), "one thousand fifty");
assert_eq!( isize_to_words(2012), "two thousand twelve");

要将任何类型为 X 的无符号整数 n 转换为 序数词,调用 X_to_ord_words(n)

assert_eq!(    u8_to_ord_words(1),    "first");
assert_eq!(   u16_to_ord_words(3),    "third");
assert_eq!(   u32_to_ord_words(5),    "fifth");
assert_eq!(   u64_to_ord_words(70),   "seventieth");
assert_eq!(  u128_to_ord_words(180),  "one hundred eightieth");
assert_eq!( usize_to_ord_words(2012), "two thousand twelfth");

要将任何类型为 Y 的浮点数 f 转换为数字词,调用 Y_to_words(f)

assert_eq!(  f32_to_words(15.2),  Ok("fifteen point two".to_string()));
assert_eq!(  f64_to_words(42.42), Ok("forty-two point four two".to_string()));

要将数字的字符串表示转换为数字词,调用 str_to_words

assert_eq!( str_to_words("123.456"), Ok("one hundred twenty-three point four five six".to_string()) );

要将数字字符串中的所有数字单独拼读出来,调用 str_digits_to_words

assert_eq!( str_digits_to_words("001247"), Ok("zero zero one two four seven".to_string()) );

此包已彻底测试,但如果您发现某些输入函数工作不正确,请 在 Github 上提交问题

无运行时依赖