安全转换为整数然后测试

时间:2014-07-17 18:36:46

标签: groovy

我有一个用户输入的值总是以字符串形式出现。在某些情况下,我知道我将能够将其转换为整数但不能转换为其他整数。例如

' 3'很好,但是 '图3A'不会转换为整数。

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

if (valueToBeTested.toInteger().getClass == java.lang.Integer 
    && valueToBeTested.toInteger() >= 5) {
// do whatever
}

唯一的问题是toInteger()在无法将某些内容转换为整数时不会返回结果,那么如何才能在if条件下安全地执行测试?我执行第一个测试,试着看它是否成功转换为整数,第二个测试是显而易见的。

1 个答案:

答案 0 :(得分:4)

if (valueToBeTested.isInteger() && valueToBeTested.toInteger() >= 5 ) { .. }

isNumber()可以在任何数字(整数,浮点数,双数)出现时使用。