我有一些JSP代码,其中我可以选择多个复选框,然后我应该添加所选元素的值。
但是,由于检索的元素是String格式,我尝试这样做时会得到NumberFormatException
-
String chooseRight[] = request.getParameterValues("id");
if(chooseRight != null && chooseRight.length != 0){
int sum =0;
out.println("The sum is: ");
for (int i = 0; i < chooseRight.length; i++) {
sum += Integer.parseInt(chooseRight[i]);
out.println(sum);
}
}
如何在int
中显示float
或out.print(sum);
值?
答案 0 :(得分:0)
您可以使用typeof来验证javascript中的类型,例如
typeof "123"; // return string
typeof 123;// return number
typeof new Object(); // return object
希望这些信息可以帮助你
查看有关类型检查的更多信息:http://www.avlabz.com/2013/01/geekyjs-javascript-strict-type-checking-plugin/
答案 1 :(得分:0)
我认为问题不在于out.println(sum);
。 sum
被声明为int并将保持这种状态。该错误必须在Integer.parseInt()
中发生,而chooseRight
必须由包含无法解析为整数的字符串的{{1}}引起。
请参阅the docs for Integer.parseInt(),其状态为:
抛出: NumberFormatException - 如果字符串不包含可解析的整数。