Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中将英文数字转换成中文_Java_Android - Fatal编程技术网

如何在java中将英文数字转换成中文

如何在java中将英文数字转换成中文,java,android,Java,Android,我必须把英文数字转换成中文数字。但由于汉语的数字系统不同于英语。我有任何方法可以将运行时获取的英文数字转换为中文 多谢各位。 维克拉姆在这种情况下, 我建议你为它建立一个哈希表。 开始并不难。 我们知道,中文“数字”的定义大致如下: 见: 因此,我认为您完全有能力在编程语言首选项java中构建一个表。支持这一点: Locale chineseNumbers = new Locale("en_US@numbers=hansfin"); com.ibm.icu.text.NumberFormat f

我必须把英文数字转换成中文数字。但由于汉语的数字系统不同于英语。我有任何方法可以将运行时获取的英文数字转换为中文

多谢各位。 维克拉姆

在这种情况下, 我建议你为它建立一个哈希表。 开始并不难。 我们知道,中文“数字”的定义大致如下: 见:

因此,我认为您完全有能力在编程语言首选项java中构建一个表。

支持这一点:

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 陸萬壹仟參佰零伍