java 数字转大写的小程序 - 点滴记忆*记忆点滴
收藏本站

java 数字转大写的小程序


        /**
         * 将双精度的数字转换为中文数字,但其整数部分和小数部分都不能超过18位
         * @param num 要转换的数
         * @param scale 要取小数点后的位数
         * @return 返回转换好的中文数字
         */
        private static String getParseDouble(Double num,int scale){
             StringBuilder sb = new StringBuilder();
            Long pre;
            Long lst;
            try {
                num = round(num,scale);
                pre = num.longValue();
                String snum = num.toString();
                int pos = snum.indexOf(".")+1;
                lst = pos != 0 ? Long.parseLong(snum.substring(pos)):0l;
            } catch (Exception e) {
                e.printStackTrace();
                throw new NumberFormatException("double转换long 异常");
            }
             sb.append(getParse(pre,0,true));
             if(lst > 0 ){
                 sb.append(POINT);
                 String decimalPart = getParse(lst,0,false);
                 int i = scale - decimalPart.length();
                 while( i > 0){
                     sb.append(charMap.get(0));
                     i--;
                 }
                 sb.append(decimalPart);
             }
             return sb.toString();
        }
        
  1. chenmgx 说道:

    继续加油努力 期待ing

  2. tmser 说道:

    很不错哦

  3. 留下足迹