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



我将为使用子字符串函数准备String,并且我需要始终有4个字符。在stackoverflow中,我发现了这样的代码,但它只适用于数字。

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

但在我的情况下,我需要对文本+数字做同样的操作。12a-->012a

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

String.format如果你的文本/数字模式是固定的(即你所有的数字都以字母a?结尾)就不好了。一个快速而肮脏的左零填充:

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

像这样简单的事情就可以完成

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

只需检查长度并附加

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

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

相关内容

  • 没有找到相关文章

最新更新