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(number) * 1.54) 那么一切似乎都工作正常。

在 groovy 中执行此操作的最佳方法是什么?

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

最佳答案

您可以使用 as double 将数字转换为 double :

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

关于java - 如何处理groovy中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14756490/

相关文章:

java - Groovy,嵌入Java,回调Java

带有 Jenkins 的 Groovy 脚本用于下游参数

exception - 在 Mockito 和 Groovy 2.0.4 中设置期望时出现 InvalidUseOfMatchersException

java - 如何使用该字段的 id 通过 Servlet 读取 JSP 表单中输入字段的值?

java - 为什么 maven-surefire-plugin 会跳过日志消息 "because it has already been run for this configuration"的测试?

java - Eclipse 4.2 桌面 MVC JavaFX 2.0

java - main方法线程将在哪里创建

groovy - 如何使 ThresholdFilter 在 logback 中工作

java - RegEx:如何在 Eclipse 中查找新类的实例?

hibernate - 在字段 'objname'上对象:'fieldname'中引起的错误:拒绝的值[null];