如何检查字符串是否为数字(Java)
大家好!我是一名Java初学者,遇到了一个问题:需要检查字符串是否只包含数字或可以转换为数字。例如,我有用户输入,想在进行数学运算前确认它确实是数字。
以下是我尝试过的:
String input = "123";
if (input.matches("\\d+")) {
int number = Integer.parseInt(input);
System.out.println("这是数字:" + number);
}
但这只适用于正整数。对于负数、浮点数(如"3.14")或科学计数法(如"1.5e10")该怎么办?我还注意到,如果字符串不是有效的整数,`Integer.parseInt()`会抛出`NumberFormatException`。如何正确处理所有这些情况?
我需要一个可靠的解决方案,适用于:
- 整数(正数和负数)
- 浮点数