工作需要将固定格式的字符串转换成整数形式。
所得字符串格式为类似于 "00000010" 的 10 位格式前面N(N <= 10)位为 0 
要将之转换成10进制整数
如上例的 "00000010" 转换之后要得到十进制整数 10
本人是这样的转换Integer num1 = Integer.parseInt("00000010");很遗憾得到了一个NullPointException
不太死心
写了一个单独的单文档 java 程序
将之放在 main 方法中执行却能成功得到所需要的十进制数 10
有没有哪位帮忙解决下这个问题
谢谢

解决方案 »

  1.   

    NullPointException
    不是这一句抛出的吧,再检查检查.
      

  2.   

    这样转换可以的,楼主的nullpoint异常不是这里抛出的。
      

  3.   

    确实是在转换的时候得到的 Integer 对象是个 null
    这一点我在调试的时候已经证明了
    另外刚刚我又把 "00000010" 换成 "10" 试了一下
    也就是写成Integer num1 = Integer.parseInt("10");空指针异常就不出来了
    所以应该可以肯定异常的罪魁祸首应该就是Integer num1 = Integer.parseInt("00000010");无异议的吧
      

  4.   

    就是在我的工作中
    因为要生成一个流水号
    最佳办法我知道是交给Oracle的Procedure去处理
    但是为了这么一个流水号去写一个Procedure以及其附属产品
    我感觉没必要
    就直接在 java 代码里头去处理它
    可以肯定地说
    要转换的字符串没抓错
      

  5.   

    Integer num1 = Integer.parseInt("00000010");
    是肯定不会抛出NullPointerException的。肯定是另外的语句,
      

  6.   

    估计是Integer.parseInt("00000010");其中的参数空指针了
      

  7.   


    package com.lv9.test;public class Test {
    public static void main(String[] args) {
    System.out.println(Integer.parseInt("00000010"));
    }
    }
    输出结果 10
      

  8.   


    //字符串转整数,不会有问题
    System.out.println(Integer.parseInt("00000010"));
    //整数转8位长字符串,前导填充0
    String formatted = String.format("%08d", 10);
    System.out.println(formatted);
      

  9.   

    观察你传到方法的参数是不是null,只有这种情况下会出项空指针异常!