前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java字符串format-用户号补齐格式化应用

Java字符串format-用户号补齐格式化应用

作者头像
程序新视界
发布2022-05-06 09:55:36
4110
发布2022-05-06 09:55:36
举报
文章被收录于专栏:丑胖侠

应用场景

在实际生产中,我们经常遇到这样的情况,就是类似生成用户号的标准化字符串。比如,生成一个以1开头,中间为0,后面递增的11位数字:10000000001、10000000002、10000000003……

生成这样的用户号的好处是格式统一,而且能够很清楚的看出此用户号的含义。比如以1开头的为用户号、以2开头的为企业号、以3开头的为商户号等等。

生成用户号后面的顺序数字有很多办法,比如采用数据库的自增属性,采用zookeeper的锁机制等等。但通过他们拿到的往往只是个顺序的数字,位数和前缀并不是逾期的格式。下面就简单介绍一下如何方面的将顺序数字生成标准格式的用户号。

实例

下面以生成用户号和商户号的实例具体说明:

代码语言:javascript
复制
package com;

/**
 * @author 二师兄
 * @date 2017/3/3
 */
public class Test {

    public static void main(String[] args) {
        Long num1 = 1024L;
        Long num2 = 2048L;
        System.out.println("用户号为:" + getUserNo(1,num1));
        System.out.println("企业号为:" + getUserNo(2,num2));

    }
    /**
     * 根据前缀和序列号生成用户号
     * @param preNumber 前缀
     * @param index 序列
     * @return
     */
    public static String getUserNo(int preNumber,Long index){
        return String.format("%d%010d",preNumber,index);
    }
}

打印结果为:

代码语言:javascript
复制
用户号为:10000001024
企业号为:20000002048

方法说明

很明显,上面的例子使用了String.format方法来格式化字符串,省去了各种判断比较拼接字符串的步骤,精简了代码。

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。

代码语言:javascript
复制
String.format("%d%010d",preNumber,index)

(1)第一个%d代表整数类型(十进制),是preNumber的占位符,拼接字符串的时候会用preNumber的值进行替换。 (2)第二个%010d,前面第一个0代表:数字前面补0;后面的10代表字符总长度为10,d代表整数类型。这个表达式的整体含义就是,用index的值来替换此处表达式,如果index的长度不足10位,则在index的前面用0补齐。

通过以上方法,可以轻易的生成一个其他类似的指定格式的字符串。发挥你的想象力吧。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应用场景
  • 实例
  • 方法说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档