Beim Programmieren müssen wir häufig feststellen, ob die Zeichen in einer Zeichenfolge Zahlen (0-9) sind und ob die Zeichenfolge eine Zahl ist. Sie können einige der mit Java gelieferten Methoden verwenden oder verwenden Andere seltsame Tricks, wie z. B. die Beurteilung, ob es sich um eine Ganzzahl handelt, und das Erzwingen einer Ganzzahl. Wenn es sich nicht um eine Ganzzahl handelt, wird ein Fehler ausgegeben, sodass es sich nicht um eine Ganzzahl handelt mehrere Implementierungsmethoden.
Wie ermittelt Java, ob eine Zeichenfolge eine Zahl ist?
1. Verwenden Sie Character.isDigit(char) zur Beurteilung (nur ein Zeichen kann beurteilt werden)
String str = "123abc"; if (!"".equals(str)) { char num[] = str.toCharArray(); //把字符串转换为字符数组 StringBuffer title = new StringBuffer(); //使用StringBuffer类,把非数字放到title中 StringBuffer hire = new StringBuffer(); //把数字放到hire中 for (int i = 0; i < num.length; i++) { // 判断输入的数字是否为数字还是字符 if (Character.isDigit(num[i])) { 把字符串转换为字符, 再调用Character.isDigit(char) 方法判断是否是数字, 是返回True, 否则False hire.append(num[i]); // 如果输入的是数字,把它赋给hire } else { title.append(num[i]); // 如果输入的是字符,把它赋给title } } }
2. Verwenden Sie die Typkonvertierung, um
try { String str = "123abc"; int num = Integer.valueOf(str); //把字符串强制转换为数字 return true; //如果是数字,返回True } catch (Exception e) { return false; //如果抛出异常,返回False }3 , Verwenden Sie die Pattern-Klasse und den Matcher, um zu beurteilen
String str = "123"; Pattern pattern = Pattern.compile("[0-9]+"); Matcher matcher = pattern.matcher((CharSequence) str); boolean result = matcher.matches(); if (result) { System.out.println("true"); } else { System.out.println("false"); }Empfohlenes Tutorial:
Das obige ist der detaillierte Inhalt vonWie kann man in Java feststellen, ob eine Zeichenfolge eine Zahl ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!