在Thread.sleep()函数java中使用double值

时间:2018-01-19 16:05:34

标签: java

基本上我的问题是我有一个随机数生成器,它在给定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长。任何其他方法也是受欢迎的。

1 个答案:

答案 0 :(得分:5)

首先乘以1000然后转换为long

Thread.sleep((long)(actualClickInterval * 1000) - 500); 

如果您先转换,则从1开始1.3100010001.3 * 1000。如果您首先相乘,则执行1300.0 long,并转换为1300,即def getPos(x,y): print("(", x, "," ,y,")") return def main(): turtle.onscreenclick(getPos)