java - 向 string/int 变量添加 0

标签 java eclipse string

所以我一直在研究一种命名约定,在字符串前添加 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/

相关文章:

java - 任何知道应用程序 ID 的人都可以部署到 GAE 吗?

java - 从日期字符串中提取时间

python - 删除列表中字符串中的重复字符串)

java - 使用单独的方法在 JFrame 中绘制线条

java - IntelliJ 调试 : Suspend whole VM then step on single thread

java - 创建并填充二维数组

c++ - 在 Eclipse 上启用 C++17 以使用 `std::byte`

java - Wicket 组件不会通过 AJAX 刷新

eclipse - Eclipse 中的 Git : Files removed from local projects

python - 如何从python中的长字符串中查找所有字典