Rmb.java
public class Rmb { /** *Información básica y operaciones de RMB*@autor weinee *@versión 1.0 */ double number; //Cantidad de RMB private String[] hanArr = {"zero", "一", "二" , "三", "四", "五", "鲁", "旒", "八", "九" };//Símbolos de conteo de caracteres chinos private String[] unitArr = {"", "十", "百", "千"};//Unidad de conteo de caracteres chinos private String[] unitArrs = {"万", "Billion", "万", "十大", "万" , " "Billion", "Wan", "Yuan"}; //Agregar unidades secuencialmente//private String[] unitArr = {"Wan", "Billion"}; //La unidad grande para contar caracteres chinos public Rmb( ){} /** *El constructor inicializa la cantidad de RMB*@param El número de RMB de inicialización dado*/ public Rmb(double number){ this.number = number } /** *Descompone un número de punto flotante en una parte larga y una cadena de parte decimal; RMB se reemplaza por un número entero. Hay un error en el valor crítico del número de punto flotante al tomar la parte decimal*@return Devuelve la matriz de cadenas descompuesta. El primer elemento de la matriz es la parte entera y el segundo es la parte decimal. cadena*/ cadena pública [] divideNum(){ double num = Math.round(number*100);//Redondear número a entero long integerPart = (long)num //Toma los dos decimales en un número entero para evitar el uso de resta //Double decimalsPart = num; -integerPart;// La parte decimal, se produce un error cuando es crítico String decimalsPartStr; long b = integerPart % 10; // El segundo dígito después del punto decimal long a = (integerPart/10) % 10; //El primer dígito después del punto decimal integerPart /= 100; if(a==0 && b==0){ decimalsPartStr = null }else{ decimalsPartStr = "" + a + b; } return new String[] {String.valueOf(integerPart), decimalsPartStr} /** *Convertir un carácter numérico a la pronunciación del RMB chino*@return Devuelve la forma de cadena de la pronunciación del RMB chino*/ public String toHanStr(){ String[] results = new String[9] //Se utiliza para almacenar temporalmente la cadena numérica String[] dividida en cuatro dígitos cada cuatro dígitos resultStrs = new; String[9];//Se utiliza para almacenar temporalmente la lectura de RMB convertida después de cada segmentación de cuatro dígitos String result = "";//El resultado final de la conversión String[] divideStr = divideNum(); //Obtiene la cadena de parte larga y decimal en la que se descompone el número de coma flotante. El primer elemento de la matriz es la cadena de parte entera y el segundo es la cadena de parte decimal results[8] = divideStr[1]; i =divideStr[0].length(), j=8; i>0&&j>0 ; i-=4,j--){ prueba{ resultados[j-1] = divideStr[0].substring(i-4). , i); }catch(Exception e){ resultados[j-1] = divideStr[0].substring(0, i } } if(resultados[8] == null){ resultStrs[8] = "todo"; }else if(resultados[8].charAt(1) == '0'){ resultStrs[8] = hanArr[resultados[8].charAt(0) - 48] + "角"; //Cambia los números a mayúsculas chinas según el código ASCII y hanArr array}else{ resultStrs[8] = hanArr[results[8].charAt(0) - 48] + "角" + hanArr[ resultados[8].charAt(1) - 48] + "punto" } for(int i=0; i<8; i++){ if(resultados[i] != null){ resultStrs[i] = ""; resultStrs[i] += hanArr[resultados[i].charAt(0) - 48] + unitArr[resultados[i].length() - 1]; //Seleccione la unidad numérica según el código ASCII y la longitud de la matriz para (int j=1; j<results[i].length(); j++ ) if(resultados[i].charAt(j-1) == '0' && resultados[i].charAt(j) != '0') resultStrs[i] += "cero" + hanArr[resultados[i] ].charAt(j) - 48] + unitArr[resultados[i].length() - 1 - j]; //Seleccione la unidad numérica según el código ASCII y la longitud de la matriz else if(results[i].charAt(j) != '0' ) resultStrs[i] += hanArr[results[i].charAt(j) - 48] + unitArr[resultados[i].length() - 1 - j] } } for (int i=0; i<8; i++ ){ if(resultStrs[i] != null){ resultado += resultStrs[i] + unitArrs[i] } } resultado += resultStrs[8];RmbTest.java
public class RmbTest{ public static void main(String[] args) { double l; byte[] bye = new byte[50]; { System .in.read(bye); }catch(Exception e){} String s = new String(bye); doble.parseDouble(s); s = r.toHanStr(); Sistema.out.println(s);Lo anterior es el contenido completo de este artículo. Espero que sea útil para todos los que aprenden Java.