-4

我在尝试格式化对象时不断出错:

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)
4

2 回答 2

3

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);
于 2013-03-28T23:18:35.407 回答
-2

简单的问题,简单的答案:.format() 不适用于 Object 或 String 类型,只能用于整数。

于 2013-03-28T23:30:46.030 回答