The tilde, in Korean, has the same usage with the en dash “–”. It represents a range or span of numbers or time.
“두 개에서 세 개”
Use the numeric determiners (“관형사”) “두” (“two …”) and “세” (“three …”) with the same unit “개” and link them together with “에서” (“from …”). Though you could also use “부터” (“from …”) in some cases, this is not the case; “에서” is always a safe bet.
“둘에서 세 개” / “둘에서 셋”
Or drop the unit and replace it with the corresponding numeric words “둘” (“two”) and “셋” (“three”).
“두에서 세 개” (ungrammatical)
This is not grammatical, because a numeric determiner (“관형사”) (“두” in this sentence) has to modify a noun (the unit noun “개” in this sentence).
But actually, “두에서 세 개” doesn’t sound completely off to me. The specific phrase “두에서 세 개” is an exception, but you should avoid this kind of construction anyway.
“두세 개” (if applicable)
You can also use compound numeric determiners. Those are:
- “한두” (“1–2”)
- “두세” (“2–3”)
- “서너” (“3–4”)
- “네다섯” (or rarely, “네댓”) (“4–5”)
- “대여섯” (“5–6”)
- “예닐곱” (“6–7”)
- “일고여덟” (“7–8”)
- “여덟아홉” (pronounced /여더라홉/) (“8–9”)
Notes
Sino–Korean numbers less than 10 are barely used for this usage.
And Sino–Korean numbers less than 20 are rarely used. Better to just prefer native words for numbers less than 20.
- “이二(2) 개에서 삼三(3) 개,” “이二(2)에서 삼三(3) 개”: understandable, but it sounds off.
- “이二(2)–삼三(3) 개,” “십十(10)–십오十五(15) 개,” “십구十九(19)에서 이십二十(20) 개”: maybe used by some speakers somewhere as a quick jargon; but it doesn’t sound good to me.
- “이십二十(20) 개에서 이십오二十五(25) 개” and “스무(20) 개에서 스물다섯(25) 개”: sounds good.
Don’t mix up Sino–Korean numbers and native numbers.
- “스무(20) 개에서 오십구五十九(59) 개”: it doesn’t sound completely off, understandable, but, stylistically undesirable and some may find it awkward.