java.lang.NumberFormatException: For input string: “ “

    技术2022-07-11  77

    原因1: Integer在32位的编译环境下,存储长度为32位。即-231~231-1; 即-2,147,483,648~2,147,483,647,此时将Integer换成BigInteger类型

    解决:

    String a = "12345678910"; BigInteger b = new BigInteger(a); //String 转换为 BigInteger

     

    原因2:

    string内部不是Integer,是double

    if(s.indexOf(".")!= -1) { System.out.println(s.indexOf(".")+1); System.out.println(Integer.valueOf(s.substring(s.indexOf(".")+1))); if( Integer.valueOf(s.substring(s.indexOf(".")+1))>0) {//小数点后大于0 System.out.println("no1"); } else if( Integer.valueOf(s.substring(0, s.indexOf("."))) % 10000 > 0) { System.out.println("no2"); } } else if( Integer.valueOf(s) % 10000 > 0){ System.out.println("no3"); } System.out.println("ok");

     

    或者用Double类转化

    Double.parseDouble(n.equals("")?"0":n);

     

    Processed: 0.010, SQL: 9