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

如何在Groovy中将字符串转换为整数,groovy,Groovy,如何在Groovy中将字符串(即数字)转换为整数。 我正在使用Groovy 2.4.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.isN

如何在Groovy中将字符串(即数字)转换为整数。 我正在使用Groovy 2.4.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
}

“3.5”不是整数。数字是,但不是整数。可能是双重/浮动?为什么同时使用def和字符串
def String a
我的理解是,当字符串在引号中声明时,它可能是“任何东西”,小数点也被认为是字符串的一部分。我使用'def'和'String'以字符串的形式专门声明该变量。只有“def”不能以独占方式声明类型。请更正。字符串b=“3.5”是否足够?不需要def:如果您提供类型,可以忽略def。当然句点(字符“.”)是字符串的一部分。但是string类不知道它是小数点。谢谢Igor。它现在适合我了。
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)
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
}