Java字符串长度不够前面或后面补0 

本文介绍两种使用Java实现字符串左侧补0的方法:一种是通过StringBuffer动态添加0,另一种是利用DecimalFormat简化代码。同时展示了如何生成固定长度的数字流水号。

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

1、 第一种字符串补0
public static String addZeroForNum(String str, int strLength) {
    int strLen = str.length();
    StringBuffer sb = null;
     while (strLen < strLength) {
           sb = new StringBuffer();
           sb.append("0").append(str);// 左补0
        // sb.append(str).append("0");//右补0
           str = sb.toString();
           strLen = str.length();
     }
    return str;
}

2、数字流水号长度不够补0方法
public static String codeAddOne(String code, int len){
   Integer intHao = Integer.parseInt(code);
   intHao++;
   String strHao = intHao.toString();
   while (strHao.length() < len) {
       strHao = "0" + strHao;
     }
   return strHao;
}

用java中的DecimalFormat,可以简化:

// 流水号加1后返回,流水号长度为15
private static final String STR_FORMAT = "000000000000"; 
public static String haoAddOne(String liuShuiHao){
    Integer intHao = Integer.parseInt(liuShuiHao);
    intHao++;
    DecimalFormat df = new DecimalFormat(STR_FORMAT);
    return df.format(intHao);
}
### Java字符串补零的方法 #### 方法一:使用 `String.format` 函数 可以通过 `String.format` 来实现字符串补零的功能。此函数允许指定格式化模式来控制输出样式。 ```java public class AddZeroExample { public static void main(String[] args) { String originalStr = "123"; // 充到至少5位字符长度,不足部分用0填充 String paddedStr = String.format("%05d", Integer.parseInt(originalStr)); System.out.println(paddedStr); // 输出: 00123 } } ``` 这种方法简单直观,适用于整数类型的字符串转换[^1]。 #### 方法二:自定义方法通过循环添加前置零直到达到所需长度 如果需要更灵活地处理不同数据类型者不希望依赖于特定的数据解析,则可以编写一个通用的辅助方法: ```java public class ZeroPaddingUtil { /** * 给定字符串str,在其左侧充'0'直至总长度等于strLength。 * * @param str 需要被填充的目标字符串 * @param strLength 扩展后的目标字符串长度 */ public static String addZeroForNum(String str, int strLength) { while (str.length() < strLength) { str = "0" + str; } return str; } public static void main(String[] args) { String result = addZeroForNum("789", 6); System.out.println(result); // 输出: 000789 } } ``` 这段代码展示了如何创建一个静态工具类中的公共方法用于执行该操作,并且可以在任何地方调用来满足需求。 对于非数值型字符串也可以采用相似的方式来进行处理,只需调整输入参数即可适应不同的应用场景[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jarry.liu

如果对您有帮助,鼓励下博主吧

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

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

打赏作者

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

抵扣说明:

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

余额充值