<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks

    public class TranMoney {
     public TranMoney() {
     }
    // public static void main(String ars[]){
    //  System.out.println(getChnmoney("11000.01"));
    //  
    // }
     public static String getChnmoney(String strNum) {
      int n, m, k, i, j, q, p, s = 0;
      int length, subLength, pstn;
      String change, output, subInput, input = strNum;
      output = "";
      if (strNum.equals(""))
       return null;
      else {
       length = input.length();
       pstn = input.indexOf('.'); // 小數(shù)點的位置

       if (pstn == -1) {
        subLength = length;// 獲得小數(shù)點前的數(shù)字
        subInput = input;
       } else {
        subLength = pstn;
        subInput = input.substring(0, subLength);
       }

       char[] array = new char[4];
       char[] array2 = { '仟', '佰', '拾' };
       char[] array3 = { '億', '萬', '元', '角', '分' };

       n = subLength / 4;// 以千為單位
       m = subLength % 4;

       if (m != 0) {
        for (i = 0; i < (4 - m); i++) {
         subInput = '0' + subInput;// 補(bǔ)充首位的零以便處理
        }
        n = n + 1;
       }
       k = n;

       for (i = 0; i < n; i++) {
        p = 0;
        change = subInput.substring(4 * i, 4 * (i + 1));
        array = change.toCharArray();// 轉(zhuǎn)換成數(shù)組處理

        for (j = 0; j < 4; j++) {
         output += formatC(array[j]);// 轉(zhuǎn)換成中文
         if (j < 3) {
          output += array2[j];// 補(bǔ)進(jìn)單位,當(dāng)為零是不補(bǔ)(千百十)
         }
         p++;
        }

        if (p != 0)
         output += array3[3 - k];// 補(bǔ)進(jìn)進(jìn)制(億萬元分角)
        // 把多余的零去掉

        String[] str = { "零仟", "零佰", "零拾" };
        for (s = 0; s < 3; s++) {
         while (true) {
          q = output.indexOf(str[s]);
          if (q != -1)
           output = output.substring(0, q) + "零"
             + output.substring(q + str[s].length());
          else
           break;
         }
        }
        while (true) {
         q = output.indexOf("零零");
         if (q != -1)
          output = output.substring(0, q) + "零"
            + output.substring(q + 2);
         else
          break;
        }
        String[] str1 = { "零億", "零萬", "零元" };
        for (s = 0; s < 3; s++) {
         while (true) {
          q = output.indexOf(str1[s]);
          if (q != -1)
           output = output.substring(0, q)
             + output.substring(q + 1);
          else
           break;
         }
        }
        k--;
       }

       if (pstn != -1)// 小數(shù)部分處理
       {
        for (i = 1; i < length - pstn; i++) {
         if (input.charAt(pstn + i) != '0') {
          output += formatC(input.charAt(pstn + i));
          output += array3[2 + i];
         } else if (i < 2)
          output += "零";
         else
          output += "";
        }
       }
       if (output.substring(0, 1).equals("零"))
        output = output.substring(1);
       if (output.substring(output.length() - 1, output.length()).equals(
         "零"))
        output = output.substring(0, output.length() - 1);
       if(output.indexOf("分")>0||output.indexOf("角")>0){
        return output;
       }else{
        return output += "整";
       }
       
      }
     }

     public static String get3Eng(String strNum) {
      String strEng = "";
      String str[] = { "", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX",
        "SEVEN", "EIGHT", "NINE" };
      String str1[] = { "TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN",
        "FIFTEEN", "SIXTEEN", "SEVENTEEN", "EIGHTEEN", "NINETEEN" };
      String str2[] = { "TEN", "TWENTY", "THIRTY", "FORTY", "FIFTY", "SIXTY",
        "SEVENTY", "EIGHTY", "NINETY", "HUNDRED" };
      int num = Integer.parseInt(strNum);
      int b = num / 100;
      int t = (num % 100) / 10;
      int g = (num % 100) % 10;
      if (b != 0) {
       strEng = strEng + str[b] + " " + str2[9];
      }

      if (t == 0) {
       if (g != 0) {
        if (b != 0) {
         strEng = strEng + " AND ";
        }
        strEng = strEng + str[g];
       }
      } else if (t == 1) {
       if (b != 0) {
        strEng = strEng + " AND ";
        num = num % 100;
       }
       strEng = strEng + str1[num - 10];
      } else if (t != 1) {
       if (g != 0) {
        if (b != 0) {
         strEng = strEng + " AND ";
        }
        strEng = strEng + str2[t - 1] + "-" + str[g];
       } else {
        if (b != 0) {
         strEng = strEng + " AND ";
        }
        strEng = strEng + str2[t - 1] + str[g];
       }
      }
      return strEng;
     }

     public static String getCent(String strNum) {
      String strEng = "";
      String str[] = { "", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX",
        "SEVEN", "EIGHT", "NINE" };
      String str1[] = { "TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN",
        "FIFTEEN", "SIXTEEN", "SEVENTEEN", "EIGHTEEN", "NINETEEN" };
      String str2[] = { "TEN", "TWENTY", "THIRTY", "FORTY", "FIFTY", "SIXTY",
        "SEVENTY", "EIGHTY", "NINETY", "HUNDRED" };
      String str3[] = { "CENTS", "", "DOLLARS", "", "HUNDRED", "THOUSAND",
        "", "", "MILLION", "", "", "BILLION", "", "" };
      if (strNum.equals(""))
       return null;
      else {
       int length = strNum.length();
       if (length != 3) {
        return "輸入的位數(shù)錯誤!";
       }
       int cent = Integer.parseInt(strNum.substring(1, 3));
       if (cent == 0) {
        return strEng;
       }
       if (cent < 10) {
        strEng = str3[0] + " " + strEng + str[cent];
       } else if (cent >= 10 && cent <= 19) {
        strEng = str3[0] + " " + strEng + str1[cent - 10];
       } else if (cent > 19) {
        int jiao = cent / 10;
        int fen = cent % 10;
        if (fen != 0) {
         strEng = str3[0] + " " + strEng + str2[jiao - 1] + "-"
           + str[fen];
        } else {
         strEng = str3[0] + " " + strEng + str2[jiao - 1] + str[fen];
        }
       }
       return strEng;
      }
     }

     public static String getEngmoney(String strNum) {
      String strNumber = "";
      String str3[] = { "CENTS", "", "DOLLARS", "", "HUNDRED", "THOUSAND",
        "", "", "MILLION", "", "", "BILLION", "", "" };
      String strEng = "";
      strNumber = strNum;
      int pointbz = strNumber.indexOf(".");
      if (pointbz < 0) {
       strNumber = strNumber + ".00";
      } else if (pointbz > 0) {
       int k = strNum.length() - pointbz;
       if (k == 2) {
        strNumber = strNumber + "0";
       } else if (k == 1) {
        strNumber = strNumber + "00";
       }
      }
      int length = strNumber.length();
      if (length > 16) {
       return "您輸入的值過大系統(tǒng)無法處理!";
      }
      String strb = "";
      String strm = "";
      String strq = "";
      String stry = "";
      String strf = "";
      // 得到分
      if (length == 3) {
       strf = getCent(strNumber);
       strEng = strEng + strf;
      } else if (length > 3 && length < 7) {
       stry = get3Eng(strNumber.substring(0, length - 3));
       strf = getCent(strNumber.substring(length - 3, length));
       strEng = strEng + stry + " " + str3[2];
       if (!strf.equals("")) {
        strEng = strEng + " AND " + strf;
       }
      } else if (length > 6 && length < 10) {
       strq = get3Eng(strNumber.substring(0, length - 6));
       stry = get3Eng(strNumber.substring(length - 6, length - 3));
       strf = getCent(strNumber.substring(length - 3, length));
       strEng = strEng + strq + " " + str3[5];
       if (stry.equals("")) {
        strEng = strEng + " " + stry;
       } else {
        strEng = strEng + " " + stry + " " + str3[2];
       }
       if (!strf.equals("")) {
        strEng = strEng + " AND " + strf;
       }
      } else if (length > 9 && length < 13) {
       strm = get3Eng(strNumber.substring(0, length - 9));
       strq = get3Eng(strNumber.substring(length - 9, length - 6));
       stry = get3Eng(strNumber.substring(length - 6, length - 3));
       strf = getCent(strNumber.substring(length - 3, length));
       strEng = strEng + strm + " " + str3[8];
       if (!strq.equals("")) {
        strEng = strEng + " " + strq + " " + str3[5];
       }
       if (!stry.equals("")) {
        strEng = strEng + " " + stry + " " + str3[2];
       } else {
        strEng = strEng + " " + str3[2];
       }
       if (!strf.equals("")) {
        strEng = strEng + " AND " + strf;
       }
      } else if (length > 12 && length < 16) {
       strb = get3Eng(strNumber.substring(0, length - 12));
       strm = get3Eng(strNumber.substring(length - 12, length - 9));
       strq = get3Eng(strNumber.substring(length - 9, length - 6));
       stry = get3Eng(strNumber.substring(length - 6, length - 3));
       strf = getCent(strNumber.substring(length - 3, length));
       strEng = strEng + strb + " " + str3[11];
       if (!strm.equals("")) {
        strEng = strEng + " " + strm + " " + str3[8];
       }
       if (!strq.equals("")) {
        strEng = strEng + " " + strq + " " + str3[5];
       }
       if (!stry.equals("")) {
        strEng = strEng + " " + stry + " " + str3[2];
       } else {
        strEng = strEng + " " + str3[2];
       }
       if (!strf.equals("")) {
        strEng = strEng + " AND " + strf;
       }
      }

      return strEng + " ONLY";
     }

     public static String formatC(char x) {
      String a = "";
      switch (x) {
      case '0':
       a = "零";
       break;
      case '1':
       a = "壹";
       break;
      case '2':
       a = "貳";
       break;
      case '3':
       a = "叁";
       break;
      case '4':
       a = "肆";
       break;
      case '5':
       a = "伍";
       break;
      case '6':
       a = "陸";
       break;
      case '7':
       a = "柒";
       break;
      case '8':
       a = "捌";
       break;
      case '9':
       a = "玖";
       break;
      }
      return a;
     }
    }



    posted on 2007-04-22 10:46 java_蟈蟈 閱讀(411) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日韩av无码中文| 亚洲国产精品久久久久网站| 亚洲一卡2卡4卡5卡6卡残暴在线| a视频免费在线观看| 中文字幕精品无码亚洲字 | 无码人妻久久一区二区三区免费| 久99精品视频在线观看婷亚洲片国产一区一级在线| 亚洲精品动漫免费二区| 日本高清免费网站| 国产亚洲视频在线播放大全| 亚洲不卡AV影片在线播放| 九九久久国产精品免费热6| 中文字幕亚洲综合久久男男| 中国在线观看免费的www| 亚洲AV无码精品色午夜果冻不卡| 十八禁无码免费网站| 91亚洲精品自在在线观看| 无码中文字幕av免费放| 人人狠狠综合久久亚洲| 免费v片视频在线观看视频| japanese色国产在线看免费| 奇米影视亚洲春色| 99re在线精品视频免费| 亚洲中文字幕乱码AV波多JI| 国产一级一片免费播放| 好猛好深好爽好硬免费视频| 99人中文字幕亚洲区 | 亚洲 自拍 另类小说综合图区| 一级特级女人18毛片免费视频| 亚洲免费人成在线视频观看| 99热在线免费播放| 激情无码亚洲一区二区三区 | 亚洲国产精品综合久久网络| 拍拍拍无挡免费视频网站| 亚洲欧洲精品一区二区三区| 男女交性永久免费视频播放| 久久国产免费直播| 日本亚洲色大成网站www久久| 精品亚洲一区二区三区在线播放 | 国产精品久久久久久亚洲影视| 在线观看亚洲精品国产|