java怎么把字符串转变为整型

public static void main(String[] args) throws Exception {
Connection conn = null;
PreparedStatement pstm = null;
String sql = "insert into dept(dname,deptno,loc) values(?,?,?)";
// TODO Auto-generated method stub
// 找到文件
File file = new File("d:" + File.separator + "deptdetails.xml");
// 创建一个解析器
SAXReader reader = new SAXReader();
// 创建一个文档
Document doc = null;
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
pstm = conn.prepareStatement(sql);

// 读取文档
doc = reader.read(file);
} catch (Exception e) {
e.printStackTrace();
}
// 得到根元素
Element dept = doc.getRootElement();
@SuppressWarnings("rawtypes")
// 得到全部子节点
Iterator iter = dept.elementIterator();
while (iter.hasNext()) {
Element person = (Element) iter.next();
pstm.setString(1, person.elementText("dname"));
pstm.setInt(2, Integer.parseInt((person.element("deptno") + "")));
pstm.setInt(2, Integer.valueOf(person.element("deptno") + "").intValue());
// pstm.setInt(2, 0);
pstm.setString(3, person.elementText("loc"));
System.out.println("姓名:" + person.elementText("dname"));
System.out.println("部门编号:" + person.elementText("deptno"));
System.out.println("描述" + person.elementText("loc"));
pstm.executeUpdate();
}

pstm.close();
}

一下是报错的
Exception in thread "main" java.lang.NumberFormatException: For input string: "org.dom4j.tree.DefaultElement@f39b3a [Element: <deptno attributes: []/>]"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)

第1个回答  2012-11-14
应该在循环中提取元素值的时候出错的。换个方式从person对象提取元素值,你干脆用elementText试试,格式按你的方式转换一下就变成要的int型了。
第2个回答  2012-11-22
Integer.paresInt()是将字符串转换为整数,1.25转化时里面有“.”不是整数啊。所以会抛出异常。
Double.Double.parseDouble():将字符串转化为浮点数。
第3个回答  2012-11-15
pstm.setInt(2, Integer.parseInt((person.element("deptno") + "")));

改成

pstm.setInt(2, Integer.parseInt(person.element("deptno") ));
第4个回答  2012-11-14
你调用的方法没错,可是你传进去的字符串格式有问题
你传个 "" 进去了的话,还真没法给你弄个int出来本回答被网友采纳
第5个回答  2012-11-14
同意楼上的,你断点调试,用watch 看看变量是不是一个数字。

Java中String和Int的相互转
- 有三种方法可供选择。第一种是`String s = String.valueOf(i);`,这是最直接的方法,通过静态方法产生一个字符串对象。第二种是`String s = Integer.toString(i);`,它同样将整数转换为字符串。第三种是`String s = "" + i;`,虽然简洁,但这种方式会额外产生一个空字符串对象。转换不...

Java:字符串(String)类型转成整型(int)的方法
最佳实践建议是在转换前检查输入,避免因无效数字输入而抛出NumberFormatException。一个有效做法是使用正则表达式String.matches("[0-9]*")来验证字符串是否只包含数字。Java 8的开发者可能倾向于使用Optional和Stream来简化转换过程。例如,通过创建一个可选的整型值并使用Stream操作将其转换为Integer。

Java整数和字符串相互转化
第一步:把String转化为int。这通常在需要将文本数据转换为数值数据时使用。要实现这一转换,可以使用`Integer.parseInt()`或`Integer.valueOf()`方法。例如,`Integer.parseInt("123")`将返回整数值123。第二步:把Integer转化为String。当需要将整数值转换为文本表示时,可以使用`Integer.toString()`...

Java 如何将String转化为Int
atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str);【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\\0')才结束...

如何在Java中将字符串转换为int
在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换.string转 int会有异常产生,比如你讲abc转int 这时候就会出现NumberFormatException所以都会捕获异常或者抛出 String str = "123";try { int a = Integer.parseInt(str);} cat...

java里,如何把String字符串转换成int[]数组?
String table_id="1,2,3,11,20,100"String[] str=table_id.split(,)\/\/以,进行拆分,获得字符串数组 在对每个字符串Integer.parseInt(String s);

java中如何将一个无限大的字符串转化为整型
具体方法是:首先要导入java.math包,方法为import java.math.BigInteger;其次要定义BigInteger对象,方法为 BigInteger big1 = new BigInteger("要操作的那个无限大的数字"). 以上便将一个无限大的数字转变成了整型。当然你可以定义第二个BigInteger对象,这样就可以把第二个无限大的数字转变...

java中如何将一个无限大的字符串转化为整型
既然是将一个无限大的字符串转变成一个整型,那么这个字符串肯定是由数字组成的字符串。在Java中如果一个数字大到不能再大的时候就可以考虑使用大数操作了。在java.math包中有一个BigInteger类,此类的作用便是将非常大的数字进行大数操作。具体方法是:首先要导入java.math包,方法为import java.math....

...转换为整型?如果我想把“a”这个字符串转换成整型要怎么做?_百度知 ...
int a = 'a';那么整形a所代表的就是字符‘a’的ASCII码。字符串转字符的话可以用String的toCharArray() 方法。希望对你有帮助!

java怎么把字符型数组转换为int型?
for(inti=0;i

相似回答