<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;// 補充首位的零以便處理
        }
        n = n + 1;
       }
       k = n;

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

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

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

        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)站導航:
     
    主站蜘蛛池模板: 亚洲综合无码一区二区痴汉 | 男男AV纯肉无码免费播放无码| 亚洲成A人片在线观看无码不卡| 成人午夜免费视频| 国产亚洲老熟女视频| 三级网站免费观看| 日韩亚洲Av人人夜夜澡人人爽| 在线人成精品免费视频| 亚洲国产午夜精品理论片| 人禽杂交18禁网站免费| 朝桐光亚洲专区在线中文字幕| 免费吃奶摸下激烈视频| 好男人资源在线WWW免费| 亚洲国产精品无码专区| 91精品全国免费观看含羞草| 亚洲一区欧洲一区| 免费亚洲视频在线观看| 三年片免费高清版 | 久久丫精品国产亚洲av不卡 | 亚洲人成网77777色在线播放| 亚洲午夜免费视频| 中国china体内裑精亚洲日本| 免费一级毛片一级毛片aa| 香蕉免费看一区二区三区| 亚洲视频中文字幕| 女人18毛片a级毛片免费视频| 九九九国产精品成人免费视频| 久久亚洲国产成人亚| 免费无码AV电影在线观看| 无套内谢孕妇毛片免费看看| 久久久久亚洲精品美女| 热久久精品免费视频| 久久精品成人免费看| 亚洲欧美国产精品专区久久| 亚洲一区无码中文字幕 | 欧美三级在线电影免费| 韩国免费A级毛片久久| 国产成人亚洲综合网站不卡| 亚洲午夜久久久久久噜噜噜| 影音先锋在线免费观看| 可以免费观看的国产视频|