我想在字符串中添加一些前导零,总长度必须为8个字符.例如:
123应为00000123
1243应为00001234
123456应为00123456
12345678应为12345678
什么是最简单的方法?
Jea*_*rin 30
一个俗气的小技巧
String str = "123";
String formatted = ("00000000" + str).substring(str.length())
Run Code Online (Sandbox Code Playgroud)
如果你开始使用数字代替:
Int number = 123;
String formatted = String.format("%08d", number);
Run Code Online (Sandbox Code Playgroud)
fge*_*fge 27
使用String.format(),它已经有一个说明者:
String.format("%08d", myInteger);
Run Code Online (Sandbox Code Playgroud)
更一般地说,请参阅javadoc Formatter.它有很多简洁的东西 - 比你第一眼看到的更多.
DecimalFormat:static public void main(String[] args) {
int vals[] = {123, 1243, 123456, 12345678};
DecimalFormat decimalFormat = new DecimalFormat("00000000");
for (int val : vals) {
System.out.println(decimalFormat.format(val));
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
00000123
00001243
00123456
12345678
Run Code Online (Sandbox Code Playgroud)
为什么不做一个简单的填充功能?我知道有库,但这是一个非常简单的任务.
System.out.println(padStr(123, "0", 8));
System.out.println(padStr(1234, "0", 8));
System.out.println(padStr(123456, "0", 8));
System.out.println(padStr(12345678, "0", 8));
public String padStr(int val, String pad, int len) {
String str = Integer.toString(val);
while (str.length() < len)
str = pad + str;
return str;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39643 次 |
| 最近记录: |