如何在java中将英文数字转换成中文
我必须把英文数字转换成中文数字。但由于汉语的数字系统不同于英语。我有任何方法可以将运行时获取的英文数字转换为中文 多谢各位。 维克拉姆在这种情况下, 我建议你为它建立一个哈希表。 开始并不难。 我们知道,中文“数字”的定义大致如下: 见: 因此,我认为您完全有能力在编程语言首选项java中构建一个表。支持这一点:如何在java中将英文数字转换成中文,java,android,Java,Android,我必须把英文数字转换成中文数字。但由于汉语的数字系统不同于英语。我有任何方法可以将运行时获取的英文数字转换为中文 多谢各位。 维克拉姆在这种情况下, 我建议你为它建立一个哈希表。 开始并不难。 我们知道,中文“数字”的定义大致如下: 见: 因此,我认为您完全有能力在编程语言首选项java中构建一个表。支持这一点: Locale chineseNumbers = new Locale("en_US@numbers=hansfin"); com.ibm.icu.text.NumberFormat f
Locale chineseNumbers = new Locale("en_US@numbers=hansfin");
com.ibm.icu.text.NumberFormat formatter =
com.ibm.icu.text.NumberFormat.getInstance(chineseNumbers);
System.out.println(formatter.format(100));
使用4.8版进行测试。建议使用@mcdowell的答案,而不是自己滚动 唯一不同的是,如果您希望将
61305
转换为,则编号系统ID“hansfin”
应替换为“hans”
六万一千三百零五"代码>
以下是不同编号系统的结果
hans 六万一千三百零五
hant 六萬一千三百零五
hansfin 陆万壹仟叁佰零伍
hansfin 陸萬壹仟參佰零伍
hans
是“Han-Simplified”(即简体中文)的缩写,hant
是“Han-Traditional”(即繁体中文),而fin
是“Finance”“你是在建议将英文单词‘一’改为中文单词‘一’?不太清楚。如果你不知道的话,中国是巨大的。@Gary:我想它可能正在把1010
转换成一千零一十代码>你是指英语单词数字(一、二、三)还是阿拉伯数字(一、二、三)?@Gary Joey说得对,我不想把阿拉伯数字转换成中文数字。示例1010进入一千零一十.
hans 六万一千三百零五
hant 六萬一千三百零五
hansfin 陆万壹仟叁佰零伍
hansfin 陸萬壹仟參佰零伍