You might think, what's the big deal? You need memorize around 40 words (i.e., the words for 0-9, 10-19, 20, 30, ..., 90, 100, 1000, million, etc.), plus a few rules, and then practice until you're fast.
I want to point out some difficulties that people learning English encounter. Every foreign language will have its own anomalies.
- In English, a year like 1776 is spoken as 17-76, not as one thousand seven hundred seventy six. And if you say it the long way, a native English speaker might even get a little thrown off.
- As an exception to the above, a year like 2001, is spoken as two thousand and one, not as 20-01.
- As an exception to the exception above, a year like 1701 is spoken as 17-oh-1, and not the long way.
- Times like 3:45 are spoken in numerous ways, like 3-45, quarter to 4, 15-45 if afternoon, or possibly even 15 to 4.
- When giving an address, 386 Maple is said as 3-86 Maple, not as 3-8-6 nor the long the way.
- You need to learn fractions and ordinal numbers: half, one-third, an-eighth, etc. You eat a third of a cake on the third floor, but half a cake on the second floor; i.e., different words in the case of number 2 (half vs second).
- When speaking a series of digits, 0 can be said as oh or zero; in many contexts, oh is much more common.
- Other exceptions and special cases with dates, prices, decimal points, measurements, ...