Java-如何让 validator 检查输入是否是 double 和整数

标签 java validation double

我的问题实际上只是与我应该在哪里放置代码来检查以确保输入是整数有关。感谢任何提供帮助的人。

public static String getQuantity(String aQuantity){
    while (isValidQuantity(aQuantity)== false ){
        errorMessage += "Enter Valid quantity\n";
    }
    return aQuantity;
    }
    private static boolean isValidQuantity(String aQuantity){
    boolean result = false;
    try{
        Double.parseDouble(aQuantity);
     //here?//
        result = true;
    }catch(Exception ex){
        result = false;
    }

    return result;
}

最佳答案

您可以使用正则表达式轻松完成此操作。对于双重使用:

Pattern.compile("\\d+\\.\\d+")

如果您想处理科学计数法中的 double (例如 3.4-e20),请使用:

Pattern.compile("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?")

对于整数,您可以简单地使用上面每个正则表达式中 . 之前的部分。喜欢

Pattern.compile("\\d+")

对于可能有符号的数字,

Pattern.compile("[-+]?[0-9]+")

注意最后一个末尾的+。必须至少有一位数字才能成为数字,因此不能使用 *,这意味着出现零次或多次

正则表达式的 Javadocs here .

测试 regexr 中的 double 模式.

关于Java-如何让 validator 检查输入是否是 double 和整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35446507/

相关文章:

java - Kafka - 传输大媒体内容

java - 从表模型中删除行后恢复 jTable 焦点和位置

node.js - 如何使用 express-validator 抛出自定义错误?

c# - 如何将 DataAnnotations ErrorMessageResourceName 与自定义资源解决方案一起使用

Java Double 变量有奇怪的值

java - 注入(inject)和配置 Gradle 构建

java - 如何使用 Java 中的正则表达式提取该字符串?

javascript - 机器人/垃圾邮件机器人是否具有选择单选按钮的能力?

c - 求解系数可能为0的二次方程

swift - 检查 double 值是否为整数 - Swift