note!
For 0.6, this crate is going under a substantial re-write. The API is likely to change.
Korean Numbers
Converts a string
, {integer}
, or BigInt
to hangul output.
You can choose between Sino-Korean numbers (based on Korean's adopted Chinese characters, 한자), or Pure Korean numbers.
Example Usage
// Get Pure Korean Hangeul
assert_eq!;
assert_eq!;
// Get Sino-Korean Hangeul
assert_eq!;
assert_eq!;
// Get Sino-Korean Hangeul from a BigInt
assert_eq!,
About Korean Numbers
Korean utilizes two number systems. One uses numbers that are purely Korean, the other uses numbers that are derived from borrowed Chinese characters (한자).
A confusing aspect is that number groupings are done in terms of 4 zeroes, not 3.
In English, 100,000 is one hundred thousand: 100 * 1,000
.
In Korean, it's 십만, or 10 * 10,000
.
10 = 십 (in Sino-Korean) 10,000 = 만.
In English, 1,000,000 is one million. In Korean, it's 백만, or 100 * 10,000
.
100 = 백. 10,000 = 만.
After 만, the next unique word for a grouping is 억, at 10^8. You can see all of the groupings this program supports below.
Lastly, Korean number words are not spaced except for grouping words like 만, 억, 조, and upwards.
Pure Korean Numbers
Pure Korean numbers are only used for numbers 1 through 99. They mirror our twenty
, thirty
, etc, in that each tens increase has a unique word to memorize.
In real life, it's uncommon to use pure korean numbers over 50 or so.
To show the tens place, the place word comes before the number.
1 is 하나, 10 is 열, 20 is 스물 (in Pure Korean).
Number | Hangeul | Literal |
---|---|---|
1 | 하나 | one |
10 | 열 | ten |
11 | 열하나 | ten one |
20 | 스물 | twenty |
21 | 스물하나 | twenty one |
1, 2, 3, 4, and 20 can be conjugated as well. todo: add conjugation rules here
Sino-Korean Numbers
Adding a number before a place word like 십, 백, 천, 만, etc, multiplies it. Adding a number after adds it.
3 is 삼, 10 is 십 (in Sino-Korean).
Number | Hangeul | Literal |
---|---|---|
13 | 십삼 | ten three |
30 | 삼십 | 3 tens |
Sino-Korean number support in this program goes up to 10^51:
Power | Hangeul Grouping | Hanja |
---|---|---|
10^4 | 만 | 萬 |
10^8 | 억 | 億 |
10^12 | 조 | 兆 |
10^16 | 경 | 京 |
10^20 | 해 | 垓 |
10^24 | 자 | 秭 |
10^28 | 양 | 穰 |
10^32 | 구 | 溝 |
10^36 | 간 | 澗 |
10^40 | 정 | 正 |
10^44 | 재 | 載 |
10^48 | 극 | 極 |
Wikipedia lists even higher groupings, but at different exponents...
Power | Hangeul Grouping | Hanja |
---|---|---|
1052 or 1056 | 항하사 | 恒河沙 |
1056 or 1064 | 아승기 | 阿僧祇 |
1060 or 1072 | 나유타 | 那由他 |
1064 or 1080 | 불가사의 | 不可思議 |
1068 or 1088 | 무량대수 | 無量大數 |
Counters
-- see todo
Further Reading
Todo
- add conjugations for pure korean numbers
- Add counter enum and mappings
- Add API fn to get a counter for a kind of term
- Add counter information in README