📅  最后修改于: 2023-12-03 15:40:35.842000             🧑  作者: Mango
在Java中,我们可以使用内置工具类java.lang.Double
和java.lang.Integer
来检查给定字符串是否是有效数字。下面是一个展示如何使用这些工具类的示例程序:
public class NumericChecker {
public static boolean isNumeric(String str) {
if (str == null || str.length() == 0) {
return false;
}
try {
// 尝试将字符串转换为整数
Integer.parseInt(str);
return true;
} catch (NumberFormatException e) {
// 如果转换失败,则不是整数
}
try {
// 尝试将字符串转换为浮点数
Double.parseDouble(str);
return true;
} catch (NumberFormatException e) {
// 如果转换失败,则不是浮点数
}
// 如果都不是,则不是有效数字
return false;
}
}
在程序中调用isNumeric
方法,并将要检查的字符串作为参数传入。如果返回值为true
,则表示该字符串是有效数字。如果返回值为false
,则表示该字符串不是有效数字。例如:
boolean isNum = NumericChecker.isNumeric("123.45");
if (isNum) {
System.out.println("是有效数字");
} else {
System.out.println("不是有效数字");
}
以上代码将输出是有效数字
。
0.1
会被转换为0.1000000000000000055511151231257827021181583404541015625
。解决这个问题需要采用特定的方法,例如使用不同的数据类型(如BigDecimal
)进行计算。