Kat*_*ore 3 random math flash mathematical-optimization actionscript-3
问题很简单.我需要一个行命令,比如
Math.round((-Math.random() * 2))
Run Code Online (Sandbox Code Playgroud)
,在输出中只显示1和-1.我试图解决它,但这似乎不是一件容易的事!我可以使用IF命令,
demo = (Math.random()>.5)?(1):(-1);
Run Code Online (Sandbox Code Playgroud)
但我需要更快的东西,比如数学公式.
如果你想要一个更快的方法,你可以这样做:
var n:Number=(int(Math.random()>=0.5)<<1)-1.0
Run Code Online (Sandbox Code Playgroud)
它是如何工作的:
Math.random()>=0.5将返回true或false
int(true) = 1
int(false) = 0
Run Code Online (Sandbox Code Playgroud)
<<1将乘以2的值,让你有一个int是2或0
现在.减去1.0和你有一个number是1.0或-1.0
这里有一些现场测试速度:http://wonderfl.net/c/xdqv