Java 对金额进行千分位计算

1.数据库中的数据为BigDecimal 类型,小数点保留两位,在前端显示不需要小数点,并且进行千分位计算

2. 在后端代码中,我是使用string类型的字段接收金鸽,在过程中需要用到截取下小数点前的数据,小数点之后的数据不要了

3. 废话不多说,上代码

 @Override
    public Page<IaAppointListVo> getAppointList(Integer pageNum, Integer pageSize, String userId,String managementRightName) {
        PageHelper.startPage(pageNum,pageSize);
        //从数据库中获取数据
        Page<IaAppointListVo>page = iaAppointmentMapper.getAppointList(managementRightName);
        for (int i = 0; i < page.size(); i++) {
            //拿到单价 
            String pricePreMu = page.get(i).getPricePreMu();
            if (pricePreMu ==null){
                page.get(i).setPricePreMu("");
            }else {
                //截取小数点
                String [] str = pricePreMu.split("[.]");
                //将string转换为 BigDecimal  
                BigDecimal  num    = NumberUtils.createBigDecimal(str[0]);
                //千分位计算  ConvertUpMoney(工具类)
                page.get(i).setPricePreMu(ConvertUpMoney.micrometer(num));
                //存入page返回
                page.get(i).setPricePreMu(String.valueOf(num));
            }
        }
        return page;
    }
 /**
     * 将金额进行千分 , 隔开    如:11,122
     * @param num
     * @return
     */
    public static String micrometer(BigDecimal num){
        NumberFormat numberFormat1 = NumberFormat.getNumberInstance();
        String price = numberFormat1.format(num);
        return price;
    }

最终千分位之后的效果

Java 对金额进行千分位计算_第1张图片

你可能感兴趣的:(java,开发语言,后端)