java 如何判断字符串是否可以转换成数字?

2024-12-26 04:28:11
推荐回答(2个)
回答1:

  • 用JAVA自带的函数判断,其中Character.isDigit方法:确定或判断指定字符是否是一个数字。

  1. public static boolean isNumericZidai(String str) {      

  2. for (int i = 0; i < str.length(); i++) {

  3. System.out.println(str.charAt(i));

  4. if (!Character.isDigit(str.charAt(i))) {      

  5. return false;

  6. }

  7. }  

  8. return true;

  9. }

  • 正确的通用代码(传入包含中文、负数、位数很长的数字的字符串也能正常匹配):

  1. /**

  2. * 匹配是否包含数字

  3. * @param str 可能为中文,也可能是-19162431.1254,不使用BigDecimal的话,变成-1.91624311254E7

  4. * @return

  5. * @author yutao

  6. * @date 2016年11月14日下午7:41:22

  7. */

  8. public static boolean isNumeric(String str) {

  9. // 该正则表达式可以匹配所有的数字 包括负数

  10. Pattern pattern = Pattern.compile("-?[0-9]+\\.?[0-9]*");

回答2:

有可能是小数哦,所以Integer不合适,还是自己写个方法吧,不如把String每个字节进行for循环,如果
不属于
【0,1,2,3,4,5,6,7,8,9,+,-,.】就是错的,当然还要考虑两个“.”两个“++”的情况