java - java检查用户输入数字的格式

标签 java validation decimalformat

我想检查用户输入的 double 值是否采用XXX.YYY格式。如果是则返回 true,否则返回 false。我想知道是否可以使用decimalFormat 类来做到这一点。人们已经说过使用正则表达式,但这现在超出了我的范围。

最佳答案

纯java字符串解决方案:

  public static boolean isValid(String str) {
    if (str == null || str.length() != 7) {
      return false;
    }
    return Character.isDigit(str.charAt(0)) && Character.isDigit(str.charAt(1)) && Character.isDigit(str.charAt(2))
      && str.charAt(3)=='.' && 
      Character.isDigit(str.charAt(4)) && Character.isDigit(str.charAt(5)) && Character.isDigit(str.charAt(6));
  }

  public static void main(String[] args) {
    System.out.println(isValid("123.456"));
    System.out.println(isValid("12.456"));
    System.out.println(isValid("abc.456"));
  }

关于java - java检查用户输入数字的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60577755/

相关文章:

java - 使用 elasticSearch 和 Spring Boot 创建 bean 时出错

java - 它会导致 jar hell 吗?或者其他一些类加载器问题

java - 寻找二维数组中的最小邻居

java - 如何在 lambda 表达式中重新抛出异常?

java - 抛出 javax.validation.UnexpectedTypeException : HV000030 exception when validating Scala's Map with @NotEmpty

swift - 如何从 Outlet Collection 获取文本字段值以进行密码验证?

javascript - 显示特定州错误的邮政编码验证

java - 使用DecimalFormat(强制点)和drawString()(y似乎是错误的)

java - 如何使用指数因子格式化十进制数?

java - 将 DecimalFormat 与自定义模式一起使用,但没有区域设置格式