gpt4 book ai didi

java - 一起验证 int 和 float 值

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:49:16 27 4
gpt4 key购买 nike

我通过其 getter 在对象中获取名为 amount 的值,如下所示。

假设对象是 h 那么

h.getAmount()

现在我需要开发一个 validator 来验证 amount 应该是整数类型,如果不是,那么它会抛出异常,我已经开发了它,如下所示

private  boolean isint (String amount){
boolean isValid = true;
try {
Integer.parseInt(amount);
}
catch(NumberFormatException e){
isValid = false;
}
return isValid;
}

现在的问题是 h 中的 amount 是一个整数,例如 1234,但它也可以是一个 float ,例如 1258.26。所以在 float 的情况下它抛出一个 NumberFormatException

无论是整型还是浮点型,我怎样才能使这两个值都完美无缺?

最佳答案

您可以像这样使用 regex:-

if (str.matches("[-+]?[0-9]*\\.?[0-9]+")) { // You can use the `\\d` instead of `0-9` too!
// Is a number - int, float, double
}

[-+]? - 对于标志。

[0-9]*\.?[0-9]+ - 对于数字和它们之间的小数点。

更新:-

如果指数也需要处理,则可以使用下面的regex

String regex = "[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?";

关于java - 一起验证 int 和 float 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16394491/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com