我有一个字符串,表示一个整数值,并希望将其转换为int。groovy中是否有类似于Java的Integer.parseInt(String)?


当前回答

我不确定它是否在groovy的最新版本中被引入(最初的答案相当古老),但现在您可以使用:

def num = mystring?.isInteger() ? mystring.toInteger() : null

or

def num = mystring?.isFloat() ? mystring.toFloat() : null

如果所提供的字符串不可靠,我建议使用浮点数甚至双精度数来代替整数。

其他回答

在Groovy中将字符串转换为整数的更简单的方法如下…

String aa="25"
int i= aa.toInteger()

现在“i”保存整数值。

Groovy样式转换:

Integer num = '589' as Integer

如果你有请求参数:

Integer age = params.int('age')

作为Don回答的补充,groovy不仅为Strings添加了. tointeger()方法,还添加了toBigDecimal()、toBigInteger()、toBoolean()、toCharacter()、toDouble()、toFloat()、toList()和toLong()。

同样,groovy还添加了is* eqivalents,如果所讨论的String可以解析为所讨论的格式,则返回true。

相关的GDK页面在这里。

有几种方法可以实现这一点。示例如下

a. return "22".toInteger()
b. if("22".isInteger()) return "22".toInteger()
c. return "22" as Integer()
d. return Integer.parseInt("22")

希望这能有所帮助

这是另一种方法。如果你不喜欢异常。

def strnumber = "100"
def intValue = strnumber.isInteger() ?  (strnumber as int) : null