次のコードスニペットがあります。
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)
動作しますが、少し冗長でジャバっぽいです。