You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化根据int值为String.valueOf(int)结果左侧补固定长度0的操作

Java 整型转固定长度前导零字符串的简洁实现

你需要将1~10000范围内的整型值转换为总长度5位、不足位补前导零的字符串,除了多分支判断拼接的实现外,有多种更简洁的写法:


方案1:使用String.format(JDK 1.5+ 通用方案)

这是最常用的实现方式,直接利用格式化字符串语法即可完成需求:

String foo = String.format("%05d", bar);

语法说明:

  • %d 表示格式化的参数为整型
  • 5 表示最终字符串的总长度为5位
  • 0 表示长度不足时用前导零填充
    该写法天然适配你1~10000的取值范围:bar=22时输出00022,bar=10000时刚好输出10000,完全符合要求。

方案2:使用DecimalFormat

如果需要频繁做同规则格式化,可以用格式化工具类实现:

import java.text.DecimalFormat;

// 初始化格式化规则,5位全补零
DecimalFormat df = new DecimalFormat("00000");
String foo = df.format(bar);

方案3:使用String.repeat(JDK 11+)

版本允许的情况下也可以手动计算补零长度,语义更直观:

String numStr = String.valueOf(bar);
String foo = "0".repeat(5 - numStr.length()) + numStr;

注:你原有的多分支实现存在变量作用域问题:四个if块内分别定义foo变量,块外无法直接访问到该变量,更简洁的实现也规避了这个问题。

内容的提问来源于stack exchange,提问作者Thanh Hiếu Nguyễn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:15:07