java中如何判断一个字符串是不是数值类型,不是判断是不是数字。
判断出字符串是个数值类型,不是判断字符串是不是数字。

解决方案 »

  1.   

    不是判断字符串是不是数字,字符串类型怎么可能是数值类型,不用判断,命题为false
      

  2.   

    数值类型和数字有什么区别吗?
    String s = 1234.56789
    if (s.matches("\\d+(.\\d+)?")) {
        if (s.indexOf(".")>0) {System.out.println("浮点类型");}
        else {System.out.println("整形类型");}
    } else {
        System.out.println("不是数值类型");
    }
      

  3.   

    哈哈,楼上正解。1.用正则匹配非数字的,如果有他就不是数值类型了。
    2.NumberFormat如果有异常他就不是数值类型了。
      

  4.   

    其实可以通过判断它是否为数字来达到目的嘛,既然你不想通过正则这个来实现,我觉得可以通过java的方式来实现,我记得java里有个类是java.util.Number,貌似可以通过它来实现..
      

  5.   

    2楼的回答,我感觉有问题啊!
    如果是float类型或其他类型的呢?可以以f或别的字符结尾啊!
      

  6.   

    那你可以再加上f的判断
    if (s.matches("\\d+(.\\d+)?[fF]?")) {