La clase pública RMBConverter2 implementa IRMBConverter {
cadena final estática privada [] RMB_NUMBER ={"cero","uno","dos","tres","cuatro","五","鲁","七","八","九"};
cadena final estática privada [] RMB_ATTR = {"元","十","百","千","万","十","百","千","100 millones","十", " "Cien", "Qian", "Wan", "Diez", "Cien", "Qian"};
cadena final estática privada [] RMB_FEN = {"minutos","ángulo"};
@Anular
cambio de cadena pública2RMB (cuentas dobles) {
StringBuffer rsBuf = nuevo StringBuffer();
si (cuenta == 0L) {
devolver "cero";
}
si (cuenta < 0)
rsBuf.append("negativo");
String zheng = strConverse(String.valueOf((long)counts));
String xiao = strConverse(String.valueOf(Math.round((cuentas - cuentas (largas))*100)));
char [] zhengArray = zheng.toCharArray();
char [] xiaoArray = xiao.toCharArray();
int zLength = zhengArray.length;
int xLength = xiaoArray.length;
Lista<Cadena> zhengList = nueva ArrayList<Cadena>();
for(int i =0; i< zLongitud; i++) {
valor int = Integer.parseInt(""+zhengArray[i]);
si (valor == 0 && (i!= 4) && (i!= 8) && i!= 0) {
zhengList.add(RMB_NUMBER[valor]);
}demás {
zhengList.add(RMB_NUMBER[valor]+
RMB_ATTR[yo]);
}
}
for(int i = zhengList.size()-1; i>=0; i--) {
rsBuf.append(zhengList.get(i));
}
para(int i =0; i<xLongitud;i++) {
valor int = Integer.parseInt(""+xiaoArray[i]);
si (valor > 0 ) {
rsBuf.append(RMB_NUMBER[valor])
.append(RMB_FEN[xLongitud-i-1]);
}
}
Cadena rs = rsBuf.toString();
rs = rs.replaceAll("cero+", "cero");
rs = rs.replaceAll("cero yuanes", "yuanes");
rs = rs.replaceAll("00.000", "10.000");
rs = rs.replaceAll("000 millones", "100 millones");
rs = rs.replaceAll("mil millones", "mil millones");
devolver rs;
}
cadena privada strConverse (cadena cadena) {
StringBuffer rs = nuevo StringBuffer();
char [] strArray = str.toCharArray();
for(int i = str.length()-1; i>=0; i--) {
rs.append(strArray[i]);
}
devolver rs.toString();
}
principal vacío estático público (argumentos de cadena []) {
RMBConverter2 c2 = nuevo RMBConverter2();
System.out.println(c2.change2RMB(2001004.10));
System.out.println(c2.change2RMB(2000000.10));
System.out.println(c2.change2RMB(0L));
System.out.println(c2.change2RMB(1121000010000000L));
}
}