JavaScript的Random()函数

 
古城
@ 2008.03.16
分类:技术笔记
点击:2537  评论:0
 
 
 
    偶然发现一个问题,JavaScript的Random()函数取得的0~1范围间的各区间概率并不是相等的。比如要生成1至4中的随机自然数即1,2,3,4中随机取一个,用表达式num=Math.round(Math.random()*99)+1得出的4个数概率大概为16%、34%、34%、16%,取到2和3的概率比1和4大,有点像正态分布,加个循环语句统计了很多次都是这样,不知道是什么原因。

    暂时想出的办法是改成num=(Math.round(Math.random()*100)%4+1,这样取到4个数的概率基本都为25%了。
 
 
 
 
 

本文评论

 
 

发表评论

你的评论
← 填你的昵称
以下内容非必填,可根据需要填写
← 可以展示在你的评论上方
← 不会在页面展示
← 不会在页面展示
← 只给我看?勾选上
这是一个别人称之为角落的世界
幸而,它的确是我的世界