Numbertext / libnumbertext

Number to number name and money text conversion libraries in C++, Java, JavaScript and Python & LibreOffice Calc Extension
BSD 3-Clause "New" or "Revised" License
67 stars 46 forks source link

[zh] Chinese '2' at the start of a number #83

Closed Ming-Hua closed 2 years ago

Ming-Hua commented 3 years ago

I haven't read the code (and don't really know where to look), but from simple usage in LibreOffice it seems that there is a special case for '2' in Chinese when used at the start of a 3-digit or more-digit number. For all other cases, like in '123', '132', '20', and '2', it's '二' in Chinese; but in this special case, like '200' and '2345', it's '两' in Chinese.

I'm merely a native speaker, and don't know of any official standard specification, but this special treatment seems misguided to me. '二' and '两' are most synonymous when used for numbers, and the subtle difference is more about colloquial Chinese vs. written Chinese, in my opinion. Also while the use of '两' is OK for cardinal numbers, like '两百三十四' for '234', it's definitely wrong for cardinal numbers, so '第两百三十四‘ is not OK for '234th', and should be '第二百三十四' instead.

So what is the rationale for this special treatment of '2' at the start of a number? If the developers can point the rationale to me, I'll try to find some authoritative evidence to support my point of view above. If there is not a concrete rationale, I would suggest getting rid of this special case and just use '二' for '2' in Chinese everywhere.

Thanks.

Ming-Hua commented 3 years ago

it's definitely wrong for cardinal numbers, so '第两百三十四‘ is not OK for '234th'

I meant 'ordinal numbers' here, of course.

laszlonemeth commented 2 years ago

Dear Ming-Hua,

Fixed in https://github.com/Numbertext/libnumbertext/commit/cd6c3050333be6b6584f943a9e22489cf05a9989

Thanks for your suggestion,

Best regards, László