يوان.جافا
public class Rmb { /** * المعلومات والعمليات الأساسية للرنمينبي*@author weinee *@version 1.0 */ double number; // مقدار الرنمينبي الخاص String[] hanArr = {"zero"، "一"، "二" , "三"، "四"، "五"، "鲁"، "旒"، "八"، "九" };// رموز عد الأحرف الصينية Private String[] UnitArr = {""، "十"، "百"، "千"}؛// وحدة عد الأحرف الصينية public String[]uniArrs = {"万"، "Billion"، "万"، "十大"، "万" , " "Billion"، "Wan"، "Yuan"}؛ // أضف الوحدات بالتتابع//private String[] UnitArr = {"Wan"، "Billion"}؛ // الوحدة الكبيرة لحساب الأحرف الصينية public Rmb( ){} /** * يقوم المنشئ بتهيئة مبلغ الرنمينبي *@param رقم التهيئة المحدد بالرنمينبي */ public Rmb(double number){ this.number = number } /** * قم بتحليل رقم الفاصلة العائمة إلى جزء طويل وسلسلة جزء عشري تم استبدال RMB بعدد صحيح. يوجد خطأ في القيمة الحرجة لرقم الفاصلة العائمة عند أخذ الجزء العشري*@return يُرجع مصفوفة السلسلة المتحللة. عنصر الصفيف الأول هو الجزء الصحيح، والثاني هو الجزء العشري سلسلة*/ سلسلة عامة [] DividNum(){ double num = Math.round(number*100);// الرقم الدائري إلى عدد صحيح long integerPart = (long)num // خذ المنزلتين العشريتين إلى عدد صحيح لتجنب استخدام الطرح // double decimalsPart = num; -integerPart;// يحدث خطأ عند الجزء العشري String decimalsPartStr; long b = integerPart % 10; // الرقم الثاني بعد العلامة العشرية long a = (integerPart/10) % 10; // الرقم الأول بعد العلامة العشرية integerPart /= 100; } return new String[] {String.valueOf(integerPart), decimalsPartStr}; } /** * تحويل حرف رقمي إلى نطق الرنمينبي الصيني*@return يُرجع شكل السلسلة لنطق الرنمينبي الصيني*/ public String toHanStr(){ String[] results = new String[9]; // يستخدم لتخزين السلسلة الرقمية مؤقتًا String[] مقسمة إلى أربعة أرقام كل أربعة أرقام resultStrs = new String[9];// يستخدم لتخزين قراءة الرنمينبي المحولة مؤقتًا بعد كل تجزئة مكونة من أربعة أرقام String result = "";// نتيجة التحويل النهائية String[] DividStr = DividNum(); // احصل على الجزء الطويل وسلسلة الجزء العشري التي ينقسم إليها رقم الفاصلة العائمة. عنصر المصفوفة الأول هو سلسلة الجزء الصحيح، والثاني هو سلسلة الجزء العشري results[8] = DividStr[1]; i =divideStr[0].length(), j=8; i>0&&j>0 ; ، أنا)؛ }catch(Exception e){ results[j-1] = DividStr[0].substring(0, i); }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] + "point" } for(int i=0; i<8; i++){ if(results[i] != null){ resultStrs[i] = ""; resultStrs[i] += hanArr[results[i].charAt(0) - 48] +uniArr[results[i].length() - 1] // حدد وحدة الأرقام بناءً على رمز ASCII وطول المصفوفة for (int j=1; j<results[i].length(); j++ ) if(results[i].charAt(j-1) == '0' && results[i].charAt(j) != '0') resultStrs[i] += "zero" + hanArr[results[i .charAt(j) - 48] +uniArr[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] }} return result;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); s = r.toHanStr();ما ورد أعلاه هو المحتوى الكامل لهذه المقالة وآمل أن يكون مفيدًا لكل من يتعلم لغة Java.