用零填充字符串
这个问题在这里已经有了答案:
如果你的字符串只包含数字,你可以使它成为一个整数,然后做填充:
String.format("%010d", Integer.parseInt(mystring));
如果不是,我想知道它是如何做到的。
org.apache.commons.lang.StringUtils.leftPad("129018", 10, "0")
第二个参数是所需的输出长度
“0”是填充字符
这将填充左边任何字符串的总宽度为10,而不必担心解析错误:
String unpadded = "12345";
String padded = "##########".substring(unpadded.length()) + unpadded;
//unpadded is "12345"
//padded is "#####12345"
如果你想正确填写:
String unpadded = "12345";
String padded = unpadded + "##########".substring(unpadded.length());
//unpadded is "12345"
//padded is "12345#####"
你可以用任何你想要填充的字符替换“#”字符,重复你希望字符串总宽度的次数。 例如,如果要向左侧添加零,以便整个字符串的长度为15个字符:
String unpadded = "12345";
String padded = "000000000000000".substring(unpadded.length()) + unpadded;
//unpadded is "12345"
//padded is "000000000012345"
这比khachik的答案的好处是,这不会使用Integer.parseInt,它可以抛出一个异常(例如,如果你想打的数字太大,如12147483647)。 缺点是如果你填充的内容已经是一个int,那么你必须将它转换为一个String并返回,这是不可取的。
所以,如果你确信它是一个整数,khachik的答案很好。 如果不是,那么这是一个可能的策略。
链接地址: http://www.djcxy.com/p/46089.html