Android String.Format前导零问题

时间:2016-04-04 22:25:24

标签: java string

我的字符串是“1”,我必须添加前导零。我正在使用

if (mystring.length() == 1) { 
     mystring = String.format("%02d", mystring);
}

但我明白了:

  

java.util.IllegalFormatConversionException:%d无法格式化   java.lang.String参数

我也尝试过使用“%02f”。知道我为什么会收到这个错误吗?

2 个答案:

答案 0 :(得分:2)

因为%d说明符需要整数类型值来格式化。如果您的字符串实际上是一个数字,请先将其解析为数字,然后将其传递给formatter

mystring = String.format("%02d", Integer.parseInt(mystring));

答案 1 :(得分:0)

错误是因为String.format("%02d", mystring);期望十进制数...不是字符串,与%02f相同,这意味着浮动

查看doc