我有以下代码片段:
mystring = "1.43 something something"
def foo = mystring =~ /(\d*.\d*).*/
def number = foo[0][1]
number = (int)(number * 2.54)
上述代码失败,异常: Cannot cast object '1.431.43' with class 'java.lang.String' to class 'int'
但是,如果我将最后一行更改为: number = (int)(Double.parseDouble(number) * 1.54)
那么一切似乎都能正常工作 .
在groovy中这样做的最佳方法是什么?
(int)(Double.parseDouble(number)
确实有效,但有点冗长和犹太人 .
2 回答
使用
要么
检查the Groovy Cookbook以获取更多信息 .
您可以使用
as double
将数字转换为double: