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

java 数字转大写的小程序

package tmser.com;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

/**
 * 实现数字转换为大写

 * 支持小数点

 * @author tjx
 */
public class ChineseNumberTranslateUtils {
        private static final Map<Long,String> charMap = new HashMap<Long,String>();
        private static final String POINT = "点";
        static{
            charMap.put(0l,"零");
            charMap.put(1l,"壹");
            charMap.put(2l,"贰");
            charMap.put(3l,"叁");
            charMap.put(4l,"肆");
            charMap.put(5l,"伍");
            charMap.put(6l,"陆");
            charMap.put(7l,"柒");
            charMap.put(8l,"捌");
            charMap.put(9l,"玖");
            charMap.put(10l,"拾");
            charMap.put(100l,"佰");
            charMap.put(1000l,"仟");
            charMap.put(10000l,"萬");
            charMap.put(100000000l, "亿");
        }

        private static Long[] ls = new Long[]{100000000l,10000l,1000l,100l,10l,1l};
        
        /**
         * 将输入的字符串转换为中文数字
         * @param is 输入的字符串
         * @return
         */
        public static String parse(String is){
            StringBuilder sb = new StringBuilder();
            if(is == null || "".equals(is.trim())){
                sb.append("你没有输入任何数据!");
            }else{
                String[] nums = is.trim().replace("-","").replace("+", "").replace(".","").split("");
                Double innum = 0d;
                for(String s:nums){
                    if(s.equals(""))
                        continue;
                    int a = s.charAt(0);
                    if(a > 57 || a < 48){
                        sb.append("你输入的不是数字!");
                        return sb.toString();
                    }
                }
                try {
                    innum = Double.parseDouble(is);
                    sb.append(getParseDouble(innum,2));
                } catch (NumberFormatException e) {
                    sb.append("噢,GOD,还没见过这么大的数字!");
                }
            }
            
            return sb.toString();
        }
        

  1. chenmgx 说道:

    继续加油努力 期待ing

  2. tmser 说道:

    很不错哦

  3. 留下足迹