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

java 数字转大写的小程序


        /**
         * 四舍五入算法 
         * @param v 要进行四舍五入的数字
         * @param scale 要舍入的位数
         * @return 四舍五入后的数字
         */
        public static double round(double v,int scale)
        {
        if(scale<0){
        throw new IllegalArgumentException("The scale must be a positive integer or zero");
        }

        BigDecimal b = new BigDecimal(Double.toString(v));
        BigDecimal one = new BigDecimal("1");
        return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
        }
        
        /**
         * 将长整型的数字转换为中文数字
         * @param num 要转换的数
         * @param start 迭代起始点,调用时输入0 即可
         * @param isShowUnit 是否显示单位 “百” “十” 等
         * @return 返回转换好的中文数字
         */
        
        private static String getParse(Long num,int start,boolean isShowUnit){
            StringBuilder sb = new StringBuilder();
            if( num < 10l){
                return charMap.get(num);
            }
            Long quot = num/ls[start];
            while( quot == 0 && start < ls.length)
            {
                start++;
                quot = num/ls[start];
            }
           
            if(start < ls.length){
                Long odd = 0l;
                //商大于零
                if(quot >0 ){
                    sb.append(getParse(quot,start,isShowUnit));
                  if(isShowUnit) sb.append(charMap.get(ls[start]));
                }
                //余数大于零
                if((odd = num % ls[start])>0){
                    if(odd < ls[start+1] )
                        sb.append(charMap.get(0l));
                    sb.append(getParse(odd,start+1,isShowUnit));
                }
            }
            
            return sb.toString();
        }
        
        public static void main(String[] args) {
            char a = "9".charAt(0);
            int b = a;
            double d = 1021.5641;
            Double dd= d;
            
            System.out.println(parse("111002.244998"));
            
        }
}

  1. chenmgx 说道:

    继续加油努力 期待ing

  2. tmser 说道:

    很不错哦

  3. 留下足迹