คัดลอกรหัสรหัสดังต่อไปนี้:
-
* แปลง RMB เป็นตัวพิมพ์ใหญ่
-
* ค่า @param
* @return สตริง
-
สตริงสาธารณะคงที่ hangeToBig (ค่าสองเท่า)
-
ถ่าน [] hunit = { '十', '百', '千' }; // การแสดงตำแหน่งภายในส่วน
ถ่าน [] vunit = { '10,000', '100 ล้าน' }; // การแสดงชื่อกลุ่ม
ถ่าน [] หลัก = {'ศูนย์', 'หนึ่ง', 'สอง', 'สาม', 'สี่', 'ห้า', 'Lu', 'Qi', 'แปด', 'เก้า' }; ด่วน
long midVal = (ยาว) (ค่า * 100); // แปลงเป็นจำนวนเต็ม
String valStr = String.valueOf(midVal); // แปลงเป็นสตริง
String head = valStr.substring(0, valStr.length() - 2); // ใช้ส่วนจำนวนเต็ม
String rail = valStr.substring(valStr.length() - 2); // ใช้ส่วนทศนิยม
คำนำหน้าสตริง = ""; // ผลลัพธ์ของการแปลงส่วนจำนวนเต็ม
ส่วนต่อท้ายสตริง = ""; // ผลลัพธ์ของการแปลงส่วนทศนิยม
// ประมวลผลตัวเลขหลังจุดทศนิยม
ถ้า (rail.equals("00"))
{ // ถ้าส่วนทศนิยมเป็น 0
คำต่อท้าย = "ทั้งหมด";
-
อื่น
-
คำต่อท้าย = digit[rail.charAt(0) - '0'] + "angle" + digit[rail.charAt(1) - '0'] + "minute"; // มิฉะนั้น ให้แปลงมุมนาทีออก
-
// ประมวลผลตัวเลขก่อนจุดทศนิยม
char[] chDig = head.toCharArray(); // แปลงส่วนจำนวนเต็มเป็นอาร์เรย์อักขระ
ถ่านศูนย์ = '0'; // ตั้งค่าสถานะ '0' บ่งชี้ว่ามี 0 เกิดขึ้น
ไบต์ zeroSerNum = 0; // จำนวนครั้งที่เกิดขึ้นติดต่อกันเป็น 0
สำหรับ (int i = 0; i < chDig.length; i++)
{ // วนซ้ำแต่ละหมายเลข
int idx = (chDig.length - i - 1) % 4; // รับตำแหน่งภายในเซ็กเมนต์
int vidx = (chDig.length - i - 1) / 4; // รับตำแหน่งเซ็กเมนต์
ถ้า (chDig[i] == '0')
{ // หากอักขระปัจจุบันเป็น 0
zeroSerNum++; // เพิ่มขึ้น 0 ครั้งติดต่อกัน
ถ้า (ศูนย์ == '0')
{ // ธง
ศูนย์ = หลัก[0];
-
อย่างอื่นถ้า (idx == 0 && vidx > 0 && zeroSerNum < 4)
-
คำนำหน้า += vunit[vidx - 1];
ศูนย์ = '0';
-
ดำเนินการต่อ;
-
zeroSerNum = 0; // ล้าง 0 ครั้งติดต่อกัน
ถ้า (ศูนย์ != '0')
{ // หากแฟล็กไม่ใช่ 0 ให้บวก เช่น หมื่น พันล้าน เป็นต้น
คำนำหน้า += ศูนย์;
ศูนย์ = '0';
-
คำนำหน้า += หลัก[chDig[i] - '0']; // แปลงการแสดงดิจิทัล
ถ้า (idx > 0)
คำนำหน้า += hunit[idx - 1];
ถ้า (idx == 0 && vidx > 0)
-
คำนำหน้า += vunit[vidx - 1]; // ควรเพิ่มชื่อเซ็กเมนต์ต่อท้ายเซ็กเมนต์ เช่น หนึ่งหมื่น, พันล้าน
-
-
ถ้า (คำนำหน้าความยาว() > 0)
คำนำหน้า += 'circle'; // หากมีส่วนจำนวนเต็มก็จะมีคำว่า วงกลม
return คำนำหน้า + คำต่อท้าย; // ส่งคืนการแสดงที่ถูกต้อง
-