Avatar ·

如何检查字符串是否为数字(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`。如何正确处理所有这些情况? 我需要一个可靠的解决方案,适用于: - 整数(正数和负数) - 浮点数