Groovy 安全转换为整数,然后进行测试

Groovy 安全转换为整数,然后进行测试,groovy,Groovy,我让用户输入一个总是以字符串形式出现的值。在某些情况下,我知道我可以将其转换为整数,但在其他情况下则无法。比如说 “3”是好的,但是 “3A”不会转换为整数 在它可以转换为整数的情况下,我需要将其值与另一个整数进行比较,因此我尝试这样做: if (valueToBeTested.toInteger().getClass == java.lang.Integer && valueToBeTested.toInteger() >= 5) { // do whateve

我让用户输入一个总是以字符串形式出现的值。在某些情况下,我知道我可以将其转换为整数,但在其他情况下则无法。比如说

“3”是好的,但是 “3A”不会转换为整数

在它可以转换为整数的情况下,我需要将其值与另一个整数进行比较,因此我尝试这样做:

if (valueToBeTested.toInteger().getClass == java.lang.Integer 
    && valueToBeTested.toInteger() >= 5) {
// do whatever
}
唯一的问题是toInteger无法将某些内容转换为整数时不会返回结果,因此如何在if条件下安全地执行测试?我执行第一个测试,尝试看看它是否成功转换为整数,第二个测试很明显

if (valueToBeTested.isInteger() && valueToBeTested.toInteger() >= 5 ) { .. }
当需要任何整数、浮点、双精度数字时,可以使用isNumber


isNumber可用于任何整数、浮点、双精度数字。

非常感谢。isInteger也可以使用吗?是的,如果您不希望测试的值是浮点值、双精度值或除整数以外的任何值,那么它将更有意义。更新我的答案。非常感谢。isInteger也可以使用吗?是的,如果您不希望测试的值是浮点值、双精度值或除整数以外的任何值,那么它将更有意义。更新我的答案。