在java中填充数字直到字符串为8个字符?

BRa*_*sad 4 java string hex padding

我正在阅读,找不到相当的片段.我正在寻找一个函数,它接受一个字符串并左键填充零(0),直到整个字符串长度为8位.我找到的所有其他片段只允许整数控制填充多少,而不是填充多少,直到整个字符串为x位长.在java中.

BC238 => 000BC289
4 => 00000004

等等谢谢.

Ted*_*opp 16

如果你从一个你知道长度<= 8个字符的字符串开始,你可以这样做:

s = "00000000".substring(0, 8 - s.length()) + s;
Run Code Online (Sandbox Code Playgroud)

实际上,这也有效:

s = "00000000".substring(s.length()) + s;
Run Code Online (Sandbox Code Playgroud)

如果您不确定s最多8个字符,则需要在使用上述任何一个之前进行测试(或使用Math.min(8, s.length())或准备捕获IndexOutOfBoundsException).

如果您从一个整数开始并想要使用填充将其转换为十六进制,则可以执行以下操作:

String s = String.format("%08x", Integer.valueOf(val));
Run Code Online (Sandbox Code Playgroud)


Piy*_*too 5

org.apache.commons.lang.StringUtils.leftPad(String str, int size, char padChar)
Run Code Online (Sandbox Code Playgroud)

你可以看看这里