【问题标题】:String.format() for string and numbers in JavaString.format() 用于 Java 中的字符串和数字
【发布时间】:2016-05-03 17:09:56
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你需要一直领先于零吗?

标签: java android format string.format


【解决方案1】:

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

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

【讨论】:

  • 谢谢,我应该自己想出这个主意
【解决方案2】:

这样简单的事情就可以了

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

只需检查长度并追加

【讨论】:

    【解决方案3】:
    int head = 12;
    String writeheader = String.format("0%da", head);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 2012-03-25
      • 1970-01-01
      • 2015-11-27
      相关资源
      最近更新 更多