GROOVY如何将随机数修剪成整数

GROOVY如何将随机数修剪成整数,groovy,soapui,Groovy,Soapui,我希望将随机生成的数字缩减为整数 我试过各种方法,但似乎都不管用。我最近的尝试如下: def som = Math.random() * totalContacts log.info som som.toInteger() log.info som def cleaned = parseInt(som) log.info cleaned (我在每个步骤后都会登录到控制台,只是为了检查结果。) 当我执行上述代码时,出现以下错误- groovy.lang.MissingMethodExcept

我希望将随机生成的数字缩减为整数

我试过各种方法,但似乎都不管用。我最近的尝试如下:

def som = Math.random() * totalContacts
log.info som 
som.toInteger()
log.info som
def cleaned = parseInt(som)
log.info cleaned 
(我在每个步骤后都会登录到控制台,只是为了检查结果。)

当我执行上述代码时,出现以下错误-

groovy.lang.MissingMethodException:否 方法签名: Script69.parseInt()适用于 参数类型:(java.lang.Double) 值:[44.405365593296]可能 解决方案:打印(java.lang.Object), 打印(java.io.PrintWriter), 打印(java.lang.Object)

谢谢,
理查德

问题似乎是在这条线上

def cleaned = parseInt(som)
som
是一个
Double
方法,没有
parseInt
方法接受
Double
参数。您还没有显示您的导入,但我猜您已经静态导入了
Integer.parseInt
,并且正在尝试调用它

以下改变应该有效:

def som = Math.random() * totalContacts
log.info som 
som.toInteger()
log.info som
def cleaned = som.toInteger()
log.info cleaned 
但是,这里您要做的似乎是生成一个范围为
0..totalContacts
(包括两个)的随机整数。如果是这样,以下是一个更简单的解决方案:

import org.apache.commons.lang.math.RandomUtils
import java.util.Random

Integer som = RandomUtils.nextInt(new Random(), totalContacts + 1)  
最简单的方法是:

def som = Math.random() * totalContacts as int

log.info som 

大家好,我终于成功了:def som=Math.random()*totalContacts randomSeed=som.toInteger()log.info randomSeed,但也会尝试您的回复!干杯