Java 如何在groovy中处理数字

Java 如何在groovy中处理数字,java,groovy,Java,Groovy,我有以下代码片段: mystring = "1.43 something something" def foo = mystring =~ /(\d*.\d*).*/ def number = foo[0][1] number = (int)(number * 2.54) 上述代码失败,出现异常:无法将类为“java.lang.String”的对象“1.431.43”强制转换为类“int” 但是,如果我将最后一行更改为:number=(int)(Double.parseDouble(numbe

我有以下代码片段:

mystring = "1.43 something something"
def foo = mystring =~ /(\d*.\d*).*/
def number = foo[0][1]
number = (int)(number * 2.54)
上述代码失败,出现异常:
无法将类为“java.lang.String”的对象“1.431.43”强制转换为类“int”

但是,如果我将最后一行更改为:
number=(int)(Double.parseDouble(number)*1.54)
,那么一切似乎都正常

在groovy中实现这一点的最佳方法是什么


(int)(Double.parseDouble(number)
确实有效,但有点冗长和javaish。

您可以使用
作为Double将数字转换为Double

def number = foo[0][1] as double
number = (int)(number * 2.54)

您可以将数字转换为双精度,并将
转换为双精度

def number = foo[0][1] as double
number = (int)(number * 2.54)
使用

查看更多信息。

使用

查看更多信息

def number = foo[0][1].toDouble()