Java 實現數字千分位

2023-04-21  本文已影响0人  赵优秀
/**
     * @Description: 格式化數字 添加千分位標識
     * @Author: Xyz
     * @Date:   2023/4/22 10:27
     * @Param:  [number]
     * @Return: java.lang.String
     */
    public static String FormatNumberThousandth(String number){
        //split()方法支持正则表达式,‘.’表示匹配任意字符,所以这里需要转义,表示匹配‘.’
        String strArr[] = number.split("\\.");
        //将整数部分分离出来
        StringBuffer sb = new StringBuffer(strArr[0]);
        //小于等于三位,不需要该操作,返回原数字
        if(sb.length()<=3){
            return number;
        }
        //大于三位
        int last = sb.length();
        //从后往前,每三位前插入一个逗号
        for (int i = last-3; i >0 ; i-=3) {
            sb.insert(i,",");
        }
        StringBuffer doubleStr = new StringBuffer(".");
        try {
            //如果有小数部分,那就小数点加上小数部分
            doubleStr.append(strArr[1]);
        }catch (ArrayIndexOutOfBoundsException e){
            //进入这里表示没有小数部分,那就将doubleStr置为空字符
            doubleStr.deleteCharAt(doubleStr.length()-1);
        }
        //整数和doubleStr的结果拼接
        sb.append(doubleStr);
        return sb.toString();
    }
上一篇 下一篇

猜你喜欢

热点阅读