Integer.parseint in Java, exception when '+' comes first

前端 未结 6 774
生来不讨喜
生来不讨喜 2020-12-19 03:31

Integer.parseInt(\"-1000\"); returns -1000 as the output.

Integer.parseInt(\"+500\"); throws an exception.

How will I be able to re

6条回答
  •  猫巷女王i
    2020-12-19 04:13

    The method is behaving as described in the documentation:

    The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign '-' ('\u002D') to indicate a negative value.

    You need to skip the first character if it is a + to do the parse correctly:

    if (s.charAt(0) == '+') s = s.substring(1);
    int val= Integer.parseInt(s);
    

提交回复
热议问题