【easyui+springMVC】实现金额万元与分转换

本文介绍了一种在系统中实现金额单位从万元到分转换的方法。具体包括:使用Long类型存储分单位金额、在Bean中增加字符串字段、实现转换方法、在页面上正确展示转换后的金额等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现步骤

一、 准备工作

1. model层的金额字段,使用Long类型数据
2. 相关的增删改查功能已经实现

二、 实现逻辑

1. Bean中增加string字符串

例如,model中如果有

@Column(name = "CONTRACT_MONEY_ONE_")
    protected Long contractMoneyOne;                //合同总金额-1(第一次)

则,在对应的bean中,创建如下字段

private String contractMoneyOneStr;                 //合同总金额-1(第一次)
2. impl层中增加两个转换方法
    //将字符串数值转换为以分为单位的Long型
    private  Long convertStrToLong(String num) {
        if(!StringUtils.isNotEmpty(num)){
            return 0L;
        }
        Double f = Double.valueOf(num);
        f = f * 1000000;//万元转分
        Long l = f.longValue();
        return l;
    }

    //将Long型的以分为单位的数据,转换成万元的字符串
    private  String convertLongToStr(Long num) {
        if(num == null || num == 0L){
            return "0";
        }
        Double f = Double.valueOf(num);
        f = f/1000000;//万元转分
        return f.toString();
    }
3. impl层中的model和bean转换方法中增加数据转换过程

convertBeanToModel方法

//合同金额1      
       entity.setContractMoneyOne(convertStrToLong(bean.getContractMoneyOneStr()));

convertModelToBean方法

        //合同金额1
        if (entity.getContractMoneyOne() != null) {
            bean.setContractMoneyOne(entity.getContractMoneyOne());
            bean.setContractMoneyOneStr(convertLongToStr(entity.getContractMoneyOne()));
        }
4. list页面,显示时,显示处理后的结果

此处,使用处理后的Str显示数据,而不是使用model中的金额字段。

{
                field: 'contractMoneyOneStr',
                title: '预计出货额',
                width: 100,
                align: 'center',
                rowspan: 1
            }
5. toEditJsp方法中增加对entity进行转换

这里写图片描述

convertMoney方法中,直接调用前面写好的convertModelToBean方法即可

    //将实体中的金额字段转为以万元为单位的字段
    @Override
    public ForecastBean convertMoney(Forecast entity) {
        return convertModelToBean(entity);
    }
6. edit页面,通过EL表达式填充的数据使用处理后的数据

这里写图片描述

7. 实现结果

页面填入的数据,是以万元为单位的数据,前台无论是列表显示,还是编辑数据时,均以万元为单位显示数据,后台数据库中,存储的是以分为单位的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值