random()与JS中的random()不同,为什么?
本帖最后由 newx 于 2009-10-8 23:52 编辑在JS中:
Math.random()
产生0至1的17位的随机数,
但在AU3中random()为什么只有16位?怎么解决? 这问题问得有水平,js的定义和bat的定义一样吗?我也想知道 sorry !
我是取网页中一图片,而图片是以ID的方式取得,而ID的值是通过JS中的math.random()取得,可是用AU3的random取得的数与JS的不同,取得的图片也就不一样了,这样取验证的图片就不准了。
我在C#中可以使用random的函数,所得的值与网页中的一样,但在AU3中不知怎样才能取与JS方式一样的值。 sorry !
我是取网页中一图片,而图片是以ID的方式取得,而ID的值是通过JS中的math.random()取得,可是用AU3的random取得的数与JS的不同,取得的图片也就不一样了,这样取验证的图片就不准了。
我在C#中可以使用random的函数,所得的值与网页中的一样,但在AU3中不知怎样才能取与JS方式一样的值。 你怎么取的数? 在网页中的代码(JS):
Math.random() 所取的数是randnum=0.5029791949568696 (16位)
在AU3中:
msgbox(0,0,random()) 所取的数是:0.901016695424914 (15位)
这是网页中的验证码图片,所用的是XXXX.php?randnum=0.xxxxxxxxxxxxxxxx
0.xxxxxxxxxxxxxxxx是从JS函数Math.random()取得,要求是小数后16位,可用AU3的random只有15位,AU3应该怎么取得16位? 在网页中的代码(JS):
Math.random() 所取的数是randnum=0.5029791949568696 (16位)
在AU3中:
msgbox(0,0,random()) 所取的数是:0.901016695424914 (15位)
这是网页中的验证码图片,所用的是XXXX.php?randnum=0.xxxxxxxxxxxxxxxx
0.xxxxxxxxxxxxxxxx是从JS函数Math.random()取得,要求是小数后16位,可用AU3的random只有15位,AU3应该怎么取得16位? 别每次回2次重复的回复,不然扣分 不知,帮顶:face (35): 已解决
AU3的Random()不能实现,但调用JScript就行了
Func nRandom()
Local $code
$code &= 'function vRandom()' & @CRLF
$code &= '{' & @CRLF
$code &= 'var now = new Date()' & @CRLF
$code &= 'var nvalue = Math.random()+"_"+now.getTime()' & @CRLF
$code &= 'return nvalue' & @CRLF
$code &= '}' & @CRLF
$nJS = ObjCreate("ScriptControl")
$nJS.language = "JScript"
$nJS.addcode($code)
$nRandom = $nJS.Run("vRandom")
Return $nRandom
EndFunc
学习了,最近正好也在写这方面的代码。遇到同样的问题,不过才用其他方法解决了,曲线救国了吧
页:
[1]