左填充带有零的字符串

左填充带有零的字符串

我也见过类似的问题这里这里.

但我不知道如何用Zero给Pad留下一个字符串。

输入:“129018”输出:“0000129018”

总输出长度应为10。



慕桂英4014372
浏览 357回答 3
3回答

慕容森

如果您的字符串仅包含数字,则可以将其设置为整数,然后执行填充操作:String.format("%010d", Integer.parseInt(mystring));如果不是我想知道怎么做.

慕桂英546537

String paddedString = org.apache.commons.lang.StringUtils.leftPad("129018", 10, "0")第二个参数是所需的输出长度。“0”是填充字符。

慕斯709654

这将使任何字符串保留到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,那么您必须将其转换为字符串并返回,这是不可取的。所以,如果你确定这是一个整数,哈奇克的答案很好。如果没有,那么这是一种可能的策略。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java