System.out.println(gv.getGclaGrade());                          //这个输出结果是10

int g=0;
try {
g = Integer.valueOf(gv.getGclaGrade()).intValue();
} catch (NumberFormatException e) {
System.out.println("格式化失败");
System.out.println(g);                                //这里输出的结果却是0
e.printStackTrace();
}
System.out.println(g);
格式化我查了好多遍,不知道问题出在哪里,高手指点一下。

解决方案 »

  1.   

    g = Integer.valueOf(gv.getGclaGrade()).intValue(); 抛异常了,g的值还是初始化的0  输出的当然是0了.
    还有 g = Integer.valueOf(gv.getGclaGrade())就可以了
      

  2.   


    public class Q {
    public static void main(String[] args) {
    int g = 0;
    try {
    // System.out.println(gv.getGclaGrade())直接采用10作为字符串测试
    g = Integer.valueOf("10").intValue();
    } catch (NumberFormatException e) {
    System.out.println("格式化失败");
    System.out.println(g); 
    e.printStackTrace();
    }
    System.out.println(g); }
    }运行正常,是不是其它地方的问题?
    gv.getGclaGrade()看看这个方法!
      

  3.   


    刚才没注意到是valueOf  以为是parseInt呢 不好意思.有可能是你的gv.getGclaGrade()返回的值不能匹配成int类型吧.比如有空格情况.
      

  4.   

    解决了,原因就是由空格,加上.trim()就可以了
      

  5.   

    你 把gv.getGclaGrade()换成gv.getGclaGrade().trim()试看看。
    还有把 valueOf函数,换成parseInt()函数试试,我一般都用的parseInt();