如何在 Groovy 中将字符串转换为整数

use*_*065 3 groovy

如何在 Groovy 中将字符串(它是一个数字)转换为整数。我正在使用 Groovy 2.4.5。这是一个抛出异常的示例代码:

代码:

def String a = "CHECK";

def String b = "3.5";
def String c = "7.5";

println "Is a number ? " + a.isNumber();
println "Is b number ? " + b.isNumber();
println "Is c number ? " + c.isNumber();

if (a.equals("CHECK"))
{
    def int x = b.toInteger();
    def int y = c.toInteger();
}

println b+c;
Run Code Online (Sandbox Code Playgroud)

输出(有例外):

Is a number ? false
Is b number ? true
Is c number ? true
Exception thrown

java.lang.NumberFormatException: For input string: "3.5"

    at myAdditionLogic.run(myAdditionLogic.groovy:12)
Run Code Online (Sandbox Code Playgroud)

Igo*_*nov 5

整数是不包含小数点的 32 位数字。您可能需要十进制数据类型,例如Double.

尝试这个:

String a = "CHECK";

String b = "3.5";
String c = "7.5";

println "Is a number ? " + a.isNumber();
println "Is b number ? " + b.isNumber();
println "Is c number ? " + c.isNumber();

if (a.equals("CHECK"))
{
    def x = b as Double;
    def y = c as Double;
    println x + y
}
Run Code Online (Sandbox Code Playgroud)