【业务功能篇34】Java 字符串数字 左右补全0的几种方式

这篇具有很好参考价值的文章主要介绍了【业务功能篇34】Java 字符串数字 左右补全0的几种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

业务场景: 我们在做一个单号字段设计的时候,经常需要用到这种格式,比如no2023062800001,no2023062800002,no2023062800003,单号累计递增,前缀是指定的字符串+当前日期+数字五位,不满五位左边补0

 方式一:String.format

  1. %06d的定义:

  2. 0代表前面要补的字符

  3. 6代表字符串长度

  4. d表示参数为整数类型文章来源地址https://www.toymoban.com/news/detail-649147.html

 //左边加0
String str = String.format("%06d", 12345);
System.out.println(str);      // 012345

 //右加空格
String addspace1 = "asd";
String addspace2 = String.format("%-12s", addspace1);
System.out.println("加空格 start:"+addspace2+":end");  //加空格 start:asd         :end


//左加空格
String addspace2_1 = "asd";
String addspace2_2 = String.format("%12s", addspace2_1);
System.out.println("加空格 start:"+addspace2_2+":end");   //加空格 start:         asd:end

 方式二:NumberFormat.getInstance()

 //左边加0(1)
        int i = 12345;
        // 得到一个NumberFormat的实例
        NumberFormat nf = NumberFormat.getInstance();
        // 设置是否使用分组
        nf.setGroupingUsed(false);
        // 设置最小整数位数
        nf.setMinimumIntegerDigits(6);
        System.out.println("左加0 start:"+nf.format(i)+":end");
        
        //左加0 start:012345:end

方式三:  StringUtils.leftPad

 System.out.println(StringUtils.rightPad("123",6,"0"));  //123000

 System.out.println(StringUtils.leftPad("123",6,"0"));   //000123

方式四: 自定义方法 append拼接 

/**
     * 给字符串的左补0或右补0
     * @param str  要处理的字符串
     * @param length 补0后字符串总长度
     * @param type  1-左补0  2-右补0
     * @return
     */
    public static String addZeroForStr(String str, int length,int type) {
        int strLen = str.length();
        if (strLen < length) {
            while (strLen < length) {
                StringBuffer sb = new StringBuffer();
                if(type==1){
                    // 左补0
                    sb.append("0").append(str);
                }else if(type==2){
                    //右补0
                    sb.append(str).append("0");
                }
                str = sb.toString();
                strLen = str.length();
            }
        }
        return str;
    }
 
 
//打印
 System.out.println(addZeroForStr("12345",6,1));
 
//结果
0123456

到了这里,关于【业务功能篇34】Java 字符串数字 左右补全0的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【java】Java基础-数字与字符串的互转汇总

    1、通过ToString() 方法, Double 就是一个包装类,String s1 = Double. toString (num); Integer同理 2、通过valueof() 方法, 本质上还是调用 toString() 方法,String s2 = String. valueOf (num); 3、技巧性,第三种没有借助包装类 String s3 =\\\"\\\"+num; string 和int之间的转换 string转换成int  :Integer.valueOf(\\\"12\\\") 或者

    2023年04月12日
    浏览(34)
  • Java如何将字符串转为数字int(三种方式)

    如何将java字符串转换为数字 对知识永远只有学无止境。 第一种 第二种 第三种 注意:这三种的转换区别在哪里呢?对知识应该敬畏。 第一种是将字符串,转换成一个数字的对象,两个相同的数字进行转换。 结果:不相等 第二种:多次的解析,最终的得到结果,可以用 “

    2024年02月13日
    浏览(42)
  • java 如何字符串中提取数字,这个方法真的很不错

    Java中提取字符串中的数字,可以使用正则表达式或非正则表达式的方法。 1.使用正则表达式 可以使用正则表达式\\\"d+\\\"来匹配字符串中的数字,并使用Matcher和Pattern类实现。 2.非正则表达式方法 使用Java中的Character类中的isDigit()方法来判断当前字符是否为数字,并在字符串中进

    2024年02月15日
    浏览(38)
  • Java去掉数字字符串开头的0 四种方法 000010

    ** ** ** ** ** ** String str = “0000040”; int index = 0 ; List arr = str.toList(); for (int i = 0 ; iarr.size(); i++){ if (!arr.get(i).equals(“0”)){ index = i; break; } } String newStr= str.substring(index) System.out.println(newStr);

    2024年02月12日
    浏览(85)
  • Java数字字符串去除小数点后末尾多余的0

    需求说明: 数字字符串去除小数点后末尾多余的0 如果字符串为空返回0,非数字则返回原字符串** 方法一(使用BigDecimal): 方法二(使用Float.parseFloat): 引用方法静态方法DecimalInputText :

    2024年02月11日
    浏览(70)
  • 【华为OD机试 】数字字符串组合倒序(C++ Java JavaScript Python)

    华为OD统一考试A卷+B卷 新题库说明 2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统一考试(B卷)。 你收到的链接上面会标注A卷还是B卷。请注意:根据反馈,目前大部分收到的都是B卷。但是仍有概率抽到A卷。 A卷对应2023的新题库(2022Q4 2

    2024年02月05日
    浏览(37)
  • 手把手教你5种方法实现Java判断字符串是否为数字

    方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length();--i=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 方法一通过遍历字符串的每一个字符,并使用 Character.isDigit() 函数检查每一个字符是否是数字。如果字符串中所有字符都是数字,那

    2024年02月07日
    浏览(56)
  • Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断

    示例 输出 解释 首先,声明两个 int 类型的变量 x 和 y ,并分别赋值为 5 和 6。 然后,使用 + 运算符将 x 和 y 相加,并将结果赋给变量 sum 。 最后,使用 System.out.println() 方法打印 sum 的值。 示例 输出 解释 首先,导入 Scanner 类,用于读取用户输入。 然后,声明三个 int 类型的

    2024年03月19日
    浏览(66)
  • 华为OD机试 - 数字字符串组合倒序 - 正则表达式(Java 2023 B卷 100分)

    华为OD机试 2023B卷题库疯狂收录中,刷题

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包