Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP页面上的格式错误_Java_Jsp - Fatal编程技术网

Java JSP页面上的格式错误

Java JSP页面上的格式错误,java,jsp,Java,Jsp,我在尝试格式化对象时不断出错: 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)

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

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
(或
整数
),而不是
对象。而且,Java不是一种脚本语言,它不能像x那样动态地改变类型,x的行为是
int
,然后是
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()不适用于类型对象或字符串,仅适用于整数。

这实际上是对该问题最有效的回答,因为Luiggi的回答(如所写)返回了一个错误事实上不是真的(关于format()接受的内容),它接受对象,并且
.format()
在使用它们方面相当聪明。试试这个:
objectx=7;System.out.println(String.format(“%02d”,x))这将打印
07
,现在尝试以下操作:
Object x=“7”;System.out.println(String.format(“%02d”,x))这将引发您的异常。但是,如果您尝试字符串的格式,如
Object x=“7”;System.out.println(String.format(“%s”,x))那么你很好:)你发现的问题来自
格式化程序.class
,当被告知格式化一个整数时,它会寻找一个可以转换为整数的对象(代码中的x不能)。我删除了这里的注释。我希望从现在开始我们可以玩得很好。之前你说x作为一个对象进入文件,你能扩展一下吗?如何定义itr3
?如果这导致错误,则该值可能是双精度或浮点值。这可能会有帮助:@JasonSperske因为OP没有指定
x
的内容,所以我假设它是一个整数值,因为尝试使用
%d
而不是
%f
进行格式化。我同意这是最好的假设,但是在浮点前面放一个前导零很复杂。假设OP还在读这篇文章,一个有效的浮点数格式字符串(假设你想去掉小数)可能是:
%02.0f”
@JasonSperske我们不能确定,因为OP甚至没有提供任何帮助来获得更好的指导=\。因此,关于这个问题可能没有更多的话要说。我们勇敢地战斗,但最终还是要由OP来决定是否使用任何有意义的东西。我看到人们受到的挑衅更少,反应更强烈。我知道你是怎么赚到10.7K的。