Rmb.java
public class Rmb { /** *Informations de base et opérations du RMB*@author weinee *@version 1.0 */ double number; //Montant du RMB private String[] hanArr = {"zero", "一", "二" , "三", "四", "五", "鲁", "旒", "八", "九" };//Symboles de comptage de caractères chinois private String[] unitArr = {"", "十", "百", "千"};//Unité de comptage de caractères chinois private String[] unitArrs = {"万", "Billion", "万", "十大", "万" , " "Billion", "Wan", "Yuan"}; //Ajouter des unités séquentiellement//private String[] unitsArr = {"Wan", "Billion"}; //La grande unité pour compter les caractères chinois public Rmb( ){} /** *Le constructeur initialise le montant RMB*@param Le numéro RMB d'initialisation donné*/ public Rmb(double number){ this.number = number; } /** *Décomposer un nombre à virgule flottante en une partie longue et une chaîne de partie décimale, Le RMB est remplacé par un entier. Il y a une erreur dans la valeur critique du nombre à virgule flottante lors de la prise de la partie décimale*@return Renvoie le tableau de chaînes décomposé. Le premier élément du tableau est la partie entière et le second est la partie décimale. chaîne*/ chaîne publique [] DivideNum(){ double num = Math.round(number*100);//Arrondir le nombre à un entier long integerPart = (long)num //Prendre les deux décimales dans un entier pour éviter d'utiliser la soustraction //double decimalsPart = num; -integerPart;//La partie décimale, une erreur se produit lorsque String decimalsPartStr; long b = integerPart % 10; //Le deuxième chiffre après la virgule décimale long a = (integerPart/10) % 10; //Le premier chiffre après la virgule décimale integerPart /= 100; if(a==0 && b==0){ decimalsPartStr = null; else{ decimalsPartStr = "" + a + b ; } return new String[] {String.valueOf(integerPart), decimalsPartStr} } /** *Convertir un caractère numérique en prononciation chinoise RMB*@return Renvoie la forme de chaîne de la prononciation chinoise du RMB*/ public String toHanStr(){ String[] results = new String[9] //Utilisé pour stocker temporairement la chaîne numérique String[] divisée en quatre chiffres tous les quatre chiffres resultStrs = new String[9];//Utilisé pour stocker temporairement la lecture RMB convertie après chaque segmentation à quatre chiffres String result = "";//Le résultat final de la conversion String[] DivideStr = DivideNum(); //Obtient la partie longue et la chaîne décimale dans lesquelles le nombre à virgule flottante est décomposé. Le premier élément du tableau est la chaîne partielle entière et le second est la chaîne partielle décimale results[8] = DivideStr[1]; je =divideStr[0].length(), j=8; i>0&&j>0 ; i-=4,j--){ try{ résultats[j-1] = diviserStr[0].substring(i-4 , je); }catch(Exception e){ results[j-1] = DivideStr[0].substring(0, i); break; } } if(results[8] == null){ resultStrs[8] = "entier"; }else if(results[8].charAt(1) == '0'){ resultStrs[8] = hanArr[results[8].charAt(0) - 48] + "角"; //Change les nombres en majuscules chinoises selon le code ASCII et le tableau hanArr}else{ resultStrs[8] = hanArr[results[8].charAt(0) - 48] + "角" + hanArr[ résultats[8].charAt(1) - 48] + "point"; } for(int i=0; i<8; i++){ if(results[i] != null){ resultStrs[i] = ""; resultStrs[i] += hanArr[results[i].charAt(0) - 48] + unitArr[results[i].length() - 1]; //Sélectionnez l'unité numérique en fonction du code ASCII et de la longueur du tableau pour (int j=1; j<results[i].length(); j++ ) if(results[i].charAt(j-1) == '0' && results[i].charAt(j) != '0') resultStrs[i] += "zéro" + hanArr[results[i ].charAt(j) - 48] + unitArr[results[i].length() - 1 - j]; //Sélectionnez l'unité numérique en fonction du code ASCII et de la longueur du tableau, sinon if(results[i].charAt(j) != '0' ) resultStrs[i] += hanArr[results[i].charAt(j) - 48] + unitArr[results[i].length() - 1 - j]; } } pour (int i=0; i<8; i++ ){ if(resultStrs[i] != null){ result += resultStrs[i] + unitArrs[i] } } result += resultStrs[8];RmbTest.java
public class RmbTest{ public static void main(String[] args) { double l; bye = new byte[50]; System.out.println("Veuillez entrer le montant de RMB à convertir :"); { Système .in.read(au revoir); }catch(Exception e){} String s = new String(au revoir); l = Double.parseDouble(s); s = r.toHanStr(); System.out.println(s }}Ce qui précède représente l’intégralité du contenu de cet article. J’espère qu’il sera utile à tous ceux qui apprennent Java.