Rmb.java
public class Rmb { /** *Основная информация и операции RMB*@author weinee *@version 1.0 */ double Number; //Количество RMB Private String[] hanArr = {"zero", "一", "二" , "三", "四", "五", "鲁", "旒", "八", "九" };//Китайские символы подсчета символов Private String[] unitArr = {"", "十", "百", "千"};//Единица счета китайских иероглифов Private String[] unitArrs = {"万", "Миллиард", "万", "十大", "万" , " "Миллиард", "Вань", "Юань"}; //Последовательное добавление единиц //private String[] unitArr = {"Вань", "Миллиард"}; //Большая единица для подсчета китайских иероглифов public Rmb( ){} /** *Конструктор инициализирует сумму юаня*@param Указанный номер юаня при инициализации*/ public Rmb(double number){ this.number = Number } /** *Разложение числа с плавающей запятой на длинную часть и строку десятичной части, The ПКМ заменяется целым числом. Ошибка критического значения числа с плавающей запятой при взятии десятичной части*@return Возвращает разложенный массив строк. Первый элемент массива — целая часть, второй — десятичная часть. строка*/ публичная строка [] разделитьNum(){ double num = Math.round(number*100);//Округление числа до целого числа long целоеPart = (long)num; //Возьмем два десятичных знака в целое число, чтобы избежать использования вычитания //double decimalsPart = num; -integerPart;//Десячная часть, при критическом значении возникает ошибка String decimalsPartStr; long b = integerPart % 10 //Вторая цифра после запятой long a = (integerPart/10) % 10; //Первая цифра после десятичной точки целочисленная часть /= 100; if(a==0 && b==0){ decimalsPartStr = null; }else{ decimalsPartStr = "" + a + b ; } return new String[] {String.valueOf(integerPart), decimalsPartStr} } /** *Преобразовать числовой символ в китайское произношение ПКМ*@return; Возвращает строковую форму китайского произношения ПКМ*/ public String toHanStr(){ String[] results = new String[9] //Используется для временного хранения числовой строки String[], разделенной на четыре цифры, каждые четыре цифры resultStrs = new; String[9];//Используется для временного хранения преобразованного чтения ПКМ после каждой четырехзначной сегментации String result = "";//Окончательный результат преобразования String[] diveStr = divNum(); //Получаем длинную часть и строку десятичной части, на которую разлагается число с плавающей запятой. Первый элемент массива — это строка целочисленной части, а второй — строка десятичной части. results[8] = divStr[1]; я =divideStr[0].length(), j=8; i>0&&j>0 ; i-=4,j--){ try{results[j-1] = divideStr[0].substring(i-4 , я); }catch(Exception e){results[j-1] = divStr[0].substring(0, i } } if(results[8] == null){ resultStrs[8] = "whole"; }else if(results[8].charAt(1) == '0'){ resultStrs[8] = hanArr[results[8].charAt(0) - 48] + "角"; //Переводим цифры в китайский верхний регистр в соответствии с кодом ASCII и массивом hanArr}else{ resultStrs[8] = hanArr[results[8].charAt(0) - 48] + "角" + hanArr[results[8].charAt(1) - 48] + "точка" } 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]; //Выбираем единицу измерения на основе кода ASCII и длины массива для (int j=1; j<results[i].length(); j++ ) if(results[i].charAt(j-1) == '0' && results[i].charAt(j) != '0') resultStrs[i] += "ноль" + hanArr[results[i] ].charAt(j) - 48] + unitArr[results[i].length() - 1 - j]; //Выбираем единицу счисления на основе кода ASCII и длины массива else if(results[i].charAt(j) != '0' ) resultStrs[i] += hanArr[results[i].charAt(j) - 48] + unitArr[results[i].length() - 1 - j] } } for (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; byte[] bye = new byte[50]; "Пожалуйста, введите сумму конвертируемых юаней:"); { System .in.read(пока); }catch(Exception e){} String s = new String(bye); l = Double.parseDouble(s); r = new Rmb(l); s = r.toHanStr(); System.out.println(s);Выше приведено все содержание этой статьи. Надеюсь, она будет полезна всем, кто изучает Java.