使用DecimalFormat实现编号的格式化(如:P + 年月日 + ‘0000023’,P202203030000023 )

各位小伙伴们在完成有序编号生成的时候可能会遇到位数不一致的问题,今天小编就使用DecimalFormat来完成编号的格式化。

使用DecimalFormat实现编号的格式化,常用于编号的有序生成,固定长度(不足该长度时前面补充0,如:000035等)。
废话不说,上案例:

/**
 * 根据整数生成编号
 * @param num 形参整数
 * @return
 */
public static String setCode(int num) {
    // 设置开口字母P(代表项目)
    String code = "P";
    // 获取当前时间并格式化为年月日(yyyy-MM-dd)
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String date = sdf.format(new Date());
    // 将时间中间的‘-’换成‘’,如2022-03-03  -> 20220303
    date = date.replace("-", "");
    // 字母+年月日   如:P20220303
    code += date;
    // 设置数字的位数为6位,若不足6位则补充为0
    DecimalFormat df = new DecimalFormat("000000");
    // dfCount便是格式化好的格式  如:000023, 000425等
    String dfCount = df.format(num);
    // 完成编号生成 P20220303000011
    code += dfCount;
    return code;
}

/**
 * 主方法
 * @param args
 */
public static void main(String[] args) {
    // 数字23
    int num1 = 23;
    // 数字425
    int num2 = 425;
    // 调用方法生成编号
    String code1 = setCode(num1);
    String code2 = setCode(num2);
    // 输出
    System.out.println("code1 = " + code1); // P20220303000023
    System.out.println("code2 = " + code2); // P20220303000425
}
结果

运行结果

总结

希望能够帮助到各位需要数字格式化的小伙伴们!如有更好的方案可关注并评论讨论呢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒省行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值