数字转字符串的处理

/**
 * 一些字符串的处理
 *
 * @author ldd
 *
 */
public class MyStringUtils {
    
    /**
     * 提供精确的乘法运算。
     *
     * @param v1 被乘数
     * @param v2 乘数
     * @return 两个参数的积
     */
    public static double mul(double v1, double v2) {
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.multiply(b2).doubleValue();
    }

    /**
     * 将数字转化为大写  
     *
     * @param num
     * @return
     */
    public static String numToUpper(int num) {  
        String u[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};  
        char[] str = String.valueOf(num).toCharArray();  
        String rstr = "";  
        for (int i = 0; i < str.length; i++) {  
            rstr = rstr + u[Integer.parseInt(str[i] + "")];
        }  
        return rstr;  
    }
}

//测试
public class Main {

    public static void main(String[] args) throws Throwable {
    //设置一个随意的Double
    Double dou= 10086.01D;
    //先调用精确算法 计算成整数
    String strMoney = MyStringUtils.numToUpper((int)(MyStringUtils.mul(dou, 100))); //人民币数字转换为大写汉字
    System.out.println(strMoney);//壹零零捌陆零壹
    }
}

posted @ 2017-11-09 21:05  薄荷加冰透心凉  阅读(182)  评论(0编辑  收藏  举报