package cn.edu.wtu.test;
public class Test {
public static void main(String[] args) {
String model = "零壹贰叁肆伍陆柒捌玖";//大写转小写映射字符串
char[] m = {'万','仟','佰','拾','亿','仟','佰','拾','万','仟','佰','拾',' '}; // 最大到万亿位,不考虑小数点 存储转换结果
String str = "叁仟万零陆佰零壹元"; //待转换字符串
char[] s = str.toCharArray();
for (int i = m.length-1, j = s.length - 2; j>=0; --j ) {
int index = model.indexOf(s[j]);
if(index !=-1){
m[i--] = s[j] = (char) (index + 48);
}else {
while(s[j] != m[i]){
m[i--] = '0';
}
}
}
//得到最高位,方便输出
int index = 0 ;
for(int i = 0 ; i < m.length; ++i){
if( m[i] >= '0' && m[i] <= '9'){
index = i ;
break;
}
}
//输出结果
for (int i = index; i < m.length; ++i) {
System.out.print(m[i]);
}
System.out.println('元');
}
}
|