有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中是否有任何方法可以检查字符串是否为数字?

所以我想检查我的字符串是否可以是数字。 我不想为此写任何锅炉铭牌代码。 有一种方法是通用apacheisNumeric()
但它为""空值提供true,为十进制值(12.3)提供false
那么,还有其他方法可以做到这一切吗


共 (5) 个答案

  1. # 1 楼答案

    最简单的方法是通过方法解析它

    经验

    try {
            double d = Double.parseDouble(STRING_TO_TEST);
        } catch (NumberFormatException | NullPointerException e) {
            //do logic 
        }
        return true;
    

    但是如果您不需要这个,Apache Commons有一个有用的方法: 经验

    NumberUtils.isCreatable("22.6") ;
    

    这是真的

    NumberUtils.isCreatable("") ;
    

    返回false

    更多信息:https://www.baeldung.com/java-check-string-number

  2. # 3 楼答案

    public boolean isNumber(String s) {
      try {
        Double.parseDouble(yourString);
        return true;
      } catch(Exception e) {
        return false;
      } 
    }
    

    如果Java能够解决这个问题,这将为您提供正确的答案

  3. # 4 楼答案

    你可以用regex来做这个。{}将是:{}

    以下是一些例子:

    String regex = "[0-9]+";
    System.out.println("12".matches(regex));
    System.out.println("abc".matches(regex));
    System.out.println("".matches(regex));
    

    如果您还想考虑十进制值,那么可以使用<强> ^ {< CD4> }<强>作为正则表达式。