【Java】Integer.parseInt() 以你之姓@ 2022-12-05 10:23 135阅读 0赞 今天写某字符串题过程无意中发现了 Integer.parseInt(); public static int parseInt(String s, int radix) throws NumberFormatException 好用之处,基本用法就是返回一个字符串参数等价的整型值 s :包含整数的 String 。 radix :使用的进制 注意这个方法在分析过程中是将字符串作为有符号的整型数来分析的,也就是说这个方法内置判别有没有符号,整个字符串是不是符合一个带(不带)符号整型数的形式,就很香! 来段源码: int result = 0; boolean negative = false; int i = 0, len = s.length(); int limit = -Integer.MAX_VALUE; int multmin; int digit; if (len > 0) { char firstChar = s.charAt(0); if (firstChar < '0') { // Possible leading "+" or "-" if (firstChar == '-') { negative = true; limit = Integer.MIN_VALUE; } else if (firstChar != '+') throw NumberFormatException.forInputString(s); if (len == 1) // Cannot have lone "+" or "-" throw NumberFormatException.forInputString(s); i++; } demo举例: System.out.println(Integer.parseInt("0001")); System.out.println(Integer.parseInt("-0001")); 1 -1 System.out.println(Integer.parseInt("0001")); System.out.println(Integer.parseInt("-0001")); System.out.println(Integer.parseInt("-0.001")); 1 Exception in thread "main" java.lang.NumberFormatException: For input string: "-0.001" -1
还没有评论,来说两句吧...