14 个版本
0.6.7 | 2022 年 6 月 6 日 |
---|---|
0.6.6 | 2019 年 1 月 28 日 |
0.5.5 | 2019 年 1 月 9 日 |
0.5.3 | 2018 年 12 月 31 日 |
0.4.2 | 2018 年 12 月 20 日 |
#63 在 国际化 (i18n) 中
每月 21 次下载
32KB
744 行
注意!
在 1.0 版本之前,这个包可能需要进行适度的重写。
韩文数字
支持将几种不同类型转换为韩文韩字
- int
- 货币 (f64)
- bigint
- str
- 一些数学表达式
您可以选择基于韩国使用的汉字(汉字)的汉字数字,或者纯韩文数字。
示例用法
// Get Pure Korean Hangeul
assert_eq!("서른둘", hangeul_from_int(30, false));
assert_eq!("둘", hangeul_from_string(String::from("2"), false));
// Get Sino-Korean Hangeul
assert_eq!("백이십", hangeul_from_int(120, true));
assert_eq!("만 이천삼백사십오", hangeul_from_string(String::from("12345"), true));
// Get Sino-Korean Hangeul from a BigInt
assert_eq!("천극", hangeul_from_bigint(pow(BigInt::from(10), 51))),
// Get Hangeul from a math expression (Sino-Korean only)
assert_eq!("일 더하기 일", "hangeul_from_expression("1 + 1");
// Get Hangeul from money (an f64 which gets truncated to 2 places) (Sino-Korean only)
assert_eq!("일 점 일", "hangeul_from_money(1.1);
关于韩文数字
韩文使用两种数字系统。一种使用纯韩文数字,另一种使用从借用的汉字(汉字)派生出的数字。
令人困惑的一点是,数字分组是以 4 个零为单位的,而不是 3 个。
在英语中,100,000 是一百万: 100 * 1,000
。在韩文中,它是 십만,或 10 * 10,000
。
10 = 십(汉字韩文)10,000 = 만。
在英语中,1,000,000 是一百万。在韩文中,它是 백만,或 100 * 10,000
。
100 = 백。10,000 = 만。
在 만 之后,下一个独特的分组词是 억,在 10^8。下面列出了本程序支持的分组。
最后,韩文数字词之间没有空格,除了分组词如 만、억、조 等。
纯韩文数字
纯韩文数字仅用于 1 到 99 的数字。它们类似于我们的 twenty
、thirty
等,即每个十位增加都有一个独特的词来记忆。
在现实生活中,超过 50 的纯韩文数字很少使用。
要表示十位,位数词位于数字之前。
1 是 하나,10 是 열,20 是 스물(纯韩文)。
数字 | 韩文 | 文字 |
---|---|---|
1 | 하나 | 一个 |
10 | 열 | 十 |
11 | 열하나 | 十一 |
20 | 스물 | 二十 |
21 | 스물하나 | 二十一 |
1, 2, 3, 4 和 20 也可以进行词形变化。待办事项:在此处添加词形变化规则
汉字韩语数字
在地点词如“십”、“백”、“천”、“만”等之前加数字,表示乘法。在之后加表示加法。
3 是 “삼”,10 是 “십”(在汉字韩语中)。
数字 | 韩文 | 文字 |
---|---|---|
13 | 십삼 | 十三 |
30 | 삼십 | 3三十 |
本程序支持汉字韩语数字的范围达到 10^51
幂 | 韩文分组 | 汉字 |
---|---|---|
10^4 | 만 | 万 |
10^8 | 억 | 亿 |
10^12 | 조 | 兆 |
10^16 | 경 | 京 |
10^20 | 해 | 垓 |
10^24 | 자 | 秭 |
10^28 | 양 | 穰 |
10^32 | 구 | 溝 |
10^36 | 간 | 澗 |
10^40 | 정 | 正 |
10^44 | 재 | 载 |
10^48 | 극 | 极 |
维基百科列出了更高的分组,但指数不同...
幂 | 韩文分组 | 汉字 |
---|---|---|
10^52 或 10^56 | 恒河沙 | 恒河沙 |
10^56 或 10^64 | 阿僧祇 | 阿僧祇 |
10^60 或 10^72 | 那由他 | 那由他 |
10^64 或 10^80 | 不可思議 | 不可思议 |
10^68 或 10^88 | 無量大數 | 无量数 |
数学表达式
以下数学表达式得到支持。进行数学运算时使用汉字韩语数字。
pub enum KoreanMathOp {
Add,
Divide,
Multiply,
Subtract,
Pow,
Fraction,
LessThan,
GreaterThan,
Equal,
NotEqual,
Log
}
进一步阅读
待办事项
- 为纯韩语数字添加词形变化
- 添加计数器枚举和映射
- 添加 API 函数以获取一种术语的计数器
- 在 README 中添加计数器信息
依赖关系
~0.8–1.1MB
~22K SLoC