我在尝试格式化对象时不断出错:
Object x= itr3.next();
x=String.format("%02d",x);
这是错误:
java.util.IllegalFormatConversionException: d != java.lang.String
at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:3999)
String.format("%02d",x)
期望第二个参数是一个int
(或一个Integer
),而不是一个Object
。此外,Java 不是一种动态更改类型的脚本语言,例如 x 的行为为int
,然后为String
。
看起来您有一个String
带有数字内容的内容,并且您想将其更改String
为左侧填充 0。您可以这样做:
String x = ... //get your content as String
int theNumber = Integer.parseInt(x); //this will work if your x contains numeric value
x = String.format("%02d", theNumber);
简单的问题,简单的答案:.format() 不适用于 Object 或 String 类型,只能用于整数。