Java 实现字符串补齐

方法 1:使用String.format()

推荐方式,简单高效:

String str = "123";
String paddedStr = String.format("%06d", Integer.parseInt(str));
System.out.println(paddedStr); // 输出:000123
  • 说明
    • %06d 表示将整数格式化为 6 位字符串,不足部分用 0 填充。
    • 适用场景:输入确定为纯数字字符串。

方法 2:使用DecimalFormat

适用于数字格式化需求:

import java.text.DecimalFormat;

String str = "123";
int num = Integer.parseInt(str);
DecimalFormat df = new DecimalFormat("000000");
String paddedStr = df.format(num);
System.out.println(paddedStr); // 输出:000123
  • 说明
    • 000000 表示固定 6 位,不足补 0。
    • 优点:适用于需要频繁格式化数字的场景。

方法 3:手动补 0(字符串拼接)

灵活处理非数字字符串:

String str = "123";
while (str.length() < 6) {
    str = "0" + str;
}
System.out.println(str); // 输出:000123

  • 说明
    • 适用场景:输入可能包含非数字字符,且需要统一补 0 处理。

方法 4:使用StringUtils.leftPad()(Apache Commons Lang)

需要引入依赖,但功能强大:

import org.apache.commons.lang3.StringUtils;

String str = "123";
String paddedStr = StringUtils.leftPad(str, 6, '0');
System.out.println(paddedStr); // 输出:000123

依赖配置

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>
  • 优点
    • 自动处理null输入(返回null)。
    • 支持自定义填充字符(如leftPad(str, 6, ' ') 补空格)。

方法 5:使用 Java 11 + 的String.repeat()

优雅的单行实现:

String str = "123";
String paddedStr = "0".repeat(Math.max(0, 6 - str.length())) + str;
System.out.println(paddedStr); // 输出:000123

  • 说明
    • 适用场景:Java 11 及以上版本,简洁高效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CnLg.NJ

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值