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()