java中如何把字符串中的数字转换为汉字?

例如:登记编号123456正在审批过程中。
转换为:登记编号一二三四五六正在审批过程中。
求代码

public class Test {
public static void main(String[] args) {
System.out.println(format("登记编号123456正在审批过程中。"));
}

public static String format(String text) {
for (int i = 0; i < 10; i++) {
text = text.replace((char) ('0' + i), 
        "零一二三四五六七八九".charAt(i));
}
return text;
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-28
public static String getChinese(String str){
StringBuilder sb= new StringBuilder();
for(int i = 0; i < str.length(); i++){
char c = str.charAt(i);
switch(c){
case '0':sb.append("零");break;
case '1':sb.append("一");break;
/*
 * 这里把2-9补齐
 */
default :sb.append(c);
}
}
return sb.toString();
}

本回答被提问者采纳
第2个回答  2014-05-07
string.replace("1", "一");
string.replace("3", "三");
这样就可以,共10(0---9)个数字,写10条就行了
第3个回答  2014-05-07
需要自己写方法实现对阿拉伯数字的识别和转换。
识别:对第一句话一个一个读入,然后查ASCII码表,识别出阿拉伯数字
(右边是阿拉伯数字,左边是他对应的ASCII码
48 0

49 1

50 2

51 3

52 4

53 5

54 6

55 7

56 8

57 9

再用parseInt方法转换字符串位数字

转换:
用switch-case语句对每一个数字转换成汉字
例:

switch(num){
case 1:
s+="一";

}
相似回答