1. 程式人生 > >int類型的整數轉換成漢字

int類型的整數轉換成漢字

char left 效果 center string col hang util urn

int類型的整數轉換成漢字

一、源代碼:IntegerNumberToChinese.java

 1 package cn.com.zfc.example;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * 將一個int類型的整數轉換成漢字
 7  * 
 8  * @author zfc
 9  *
10  */
11 public class IntegerNumberToChinese {
12 
13     // 定義int轉換成漢字的方法
14     private static String change(int n) {// 數字轉換成漢字表示
15 String[] c = { "零", "壹", "貳", "叁", "肆", "伍", "陸", "柒", "捌", "玖" }; 16 String[] d = { "", "十", "百", "千", "萬", "十", "百", "千", "億", "十", "百", "千" }; 17 String ss = n + "", buffer = new String(); 18 boolean b = true; 19 int j;// 第一次出現零 20 for (int i = 0; i < ss.length(); i++) {
21 for (j = 0; j <= 9; j++) {// 遍歷int整數 22 if (ss.charAt(i) == j + ‘0‘) { 23 break; 24 } 25 } 26 if ((ss.length() + 2) % 4 == 0 && i == 0 && j == 1) { 27 buffer += d[ss.length() - i - 1];
28 } else if (i != ss.length() - 1 && j == 0) { 29 if (b) { 30 buffer += c[j]; 31 b = false; 32 } 33 } else if (i == ss.length() - 1 && j == 0) { 34 if (!b) { 35 buffer = buffer.substring(0, buffer.length() - 5); 36 } // 如果最後一個也為0,則去掉之前添加的ling 37 } else { 38 buffer += c[j] + d[ss.length() - i - 1]; 39 b = true; 40 } 41 } 42 return buffer; 43 } 44 45 public static void main(String[] args) { 46 Scanner sc = new Scanner(System.in); 47 System.out.println("請輸入int類型的整數:"); 48 int n = sc.nextInt(); 49 sc.close(); 50 System.out.println("對應的漢字大寫:" + change(n)); 51 } 52 }

二、運行效果

技術分享

int類型的整數轉換成漢字