我有以下代码片段:
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)
确实有效,但有点冗长和javaish。