基本上我的问题是我有一个随机数生成器,它在给定int + - 0.5的用户之间生成一个随机double
值:
double actualClickInterval = (ThreadLocalRandom.current().nextDouble(clickinterval - 0.5, clickinterval + 0.5 +1));
其中clickinterval
是给定int的用户。
这个double值应该传递给Thread.sleep()
,而这需要Long值。如果我将其转换为Long值,小数将消失。有没有办法解决这个问题?
当前Thread.sleep()代码如下:
Thread.sleep((long)actualClickInterval * 1000 - 500);
我需要将值设置为double,因为执行的任务需要使用< 500ms长。任何其他方法也是受欢迎的。
答案 0 :(得分:5)
首先乘以1000
,然后转换为long
:
Thread.sleep((long)(actualClickInterval * 1000) - 500);
如果您先转换,则从1
开始1.3
,1000
次1000
为1.3 * 1000
。如果您首先相乘,则执行1300.0
long
,并转换为1300
,即def getPos(x,y):
print("(", x, "," ,y,")")
return
def main():
turtle.onscreenclick(getPos)
。