大小寫 中文轉換

          public class Test {
           /*
            *  <p>Description: 字符串處理的公共類</p>
            *  <p>Copyright 2006 </p>
            *  @author  leonards
            *  @Create Date : 2006-11-23
            */

           /*
            *  將字符串轉換成中文的大寫貨幣值
            *  @param   moneyStr
            *  @return
            */
           public static String convertToCapitalMoney(String moneyStr) {
            double money = 0;
            try {
             money = Double.parseDouble(moneyStr);
            } catch (Exception e) {

            }
            return convertToCapitalMoney(money);
           }

           /*
            *  將數字轉換成中文的大寫貨幣值
            *  @param   moneyValue
            *  @return
            */
           public static String convertToCapitalMoney(double moneyValue) {
            double money = moneyValue + 0.005; //  防止浮點數四舍五入造成誤差
            String Result = "";
            String capitalLetter = "零壹貳叁肆伍陸柒捌玖";
            String moneytaryUnit = "分角圓拾佰仟萬拾佰仟億拾佰仟萬拾佰仟億拾佰仟";
            String tempCapital, tempUnit;

            int integer; //  錢的整數部分
            int point; //  錢的小數部分
            int tempValue; //  錢的每一位的值
            integer = (int) money;
            point = (int) (100 * (money - (float) integer));

            if (integer == 0)
             Result = "零圓";
            /*
             *     貨幣整數部分操作
             *     1.    依次取得每一位上的值
             *     2.    轉換成大寫
             *     3.    確定貨幣單位
             */
            for (int i = 1; integer > 0; i++) {
             tempValue = (integer % 10);
             tempCapital = capitalLetter.substring(tempValue, tempValue + 1);
             tempUnit = moneytaryUnit.substring(i + 1, i + 2);
             Result = tempCapital + tempUnit + Result;
             integer = integer / 10;
            }
            /*
             *  貨幣小數部分操作
             */
            tempValue = (point / 10);
            for (int i = 1; i > -1; i--) {
             tempCapital = capitalLetter.substring(tempValue, tempValue + 1);
             tempUnit = moneytaryUnit.substring(i, i + 1);
             Result = Result + tempCapital + tempUnit;
             tempValue = point % 10;
            }
            return Result;
           }

           public static void main(String[] args) {

            String money1 = Test.convertToCapitalMoney("400000000.215");
            System.out.println(money1);
            String money = Test.convertToCapitalMoney(40000000.215);
            System.out.println(money);
           }

          }

          posted on 2007-04-23 16:23 leoli 閱讀(992) 評論(0)  編輯  收藏 所屬分類: java

          導航

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案(17)

          文章分類(86)

          收藏夾(3)

          flex blog

          good site

          java blog

          my friend

          tools

          抓蝦

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 江西省| 城口县| 闻喜县| 南靖县| 贵阳市| 陕西省| 酒泉市| 丹巴县| 大埔县| 榆树市| 清远市| 孙吴县| 安康市| 丽水市| 文山县| 讷河市| 宁陵县| 布尔津县| 富阳市| 凤台县| 宁远县| 辰溪县| 东兰县| 沈阳市| 建德市| 武夷山市| 郴州市| 沙坪坝区| 成都市| 水富县| 兴宁市| 周宁县| 绥化市| 鄯善县| 彭山县| 浑源县| 巧家县| 武平县| 中超| 濉溪县| 双柏县|