String.format() 用于 Java 中的字符串和数字

String.format() for string and numbers in Java

我将准备 String 以使用 substring 函数,我需要始终有 4 个字符。在 Whosebug 中,我找到了这样的代码,但它仅适用于数字。

writeHead = String.format("%04d", writeHead);

但就我而言,我需要对文本 + 数字执行相同的操作。 12a --> 012a

String head = "12a"; 
String writeHead = String.format("%04d", head);//doesnt work
//need 012a as String

像这样简单的事情就可以了

String head = "12a";
while(head.length < 4){
    head += "0"+head;
}

只需检查长度并追加

int head = 12;
String writeheader = String.format("0%da", head);

字符串header = 12a; String writeHeader = String.format("0%s", head);

如果你的 text/number 模式是固定的(即你所有的数字都以字母 a 结尾?),

String.format 是不好的。 快速而肮脏的左填充零:

String head="12a";    
String writeHead = "0000"+head;
writeHead=writeHead.substring(writeHead.length()-4);