所以我一直在研究一种命名约定,在字符串前添加 0。在将所有内容分解为 if 语句之前,我尝试以简短的方式完成此操作。这里我在 int 之前打印 0,得到的答案是 00005。
String test = null;
int n = 5;
test = String.format("%05d%n", n);
System.out.println(test);
现在我想做的是对字符串执行此操作。例如,如果 String n = "5";如果 String n = "20"; 它会给我一个答案 00005;它将是 00020。我不想使用整数方法将字符串更改为 int,然后再更改回字符串。任何帮助,将不胜感激。谢谢!
最佳答案
不确定这是否是最好的方法,但这就是我使用的方法。
public static String pad (String input, char with, int desiredLength)
{
if (input.length() >= desiredLength) {
return input;
}
StringBuilder output = new StringBuilder (desiredLength);
for (int i = input.length (); i < desiredLength; i++) {
output.append (with);
}
output.append (input);
return output.toString();
}
用法(假设静态方法位于名为 Utils 的类中):
System.out.println (Utils.pad(myString,'0',10));
编辑:概括为任何输入字符串、要填充的字符以及所需的输出长度。
关于java - 向 string/int 变量添加 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25025347/