如何制作随机+或 - 值

时间:2016-02-12 06:42:11

标签: javascript actionscript-3

我正在尝试添加或减去1到5个数字。

到目前为止,我有:

var number:int = Math.random() * 5;

现在我想把它作为正面或负面随机。

我可以使用以下内容:

// use math random to pick 1 or 0 and if 0 then negative
number = Math.random() * 1 ? number : number * -1;

但我不喜欢它。根据我对数学随机的经验,数字将始终为0 ???。还有更好的方法吗?

3 个答案:

答案 0 :(得分:6)

var plusOrMinusVal = Math.random() < 0.5 ? -1 : 1;

答案 1 :(得分:1)

Math.round(Math.random()) > 0 ? 1 : -1;
  • Math.random() - 从0到1随机, 0.54398938
  • Math.round() - 整数到理性值, 0.54398938现在为1
  • x > 0 ? 1 : -1 - 检查x是否大于0,分配1,否则为-1, 1大于0 - 分配1

&#13;
&#13;
function random(){
  document.querySelector('#number').innerHTML =  Math.round(Math.random()) > 0 ? 1 : -1;
}
&#13;
<h3>You randomed: <span id="number">x</span></h3>
<button onclick="random()">Try again</button>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

Math.floor(Math.random() * 11) - 5;

floor会给出正常的值分布,而round则不会给出最小值和最大值。但是你应该记得在参数中添加1。此外,Math.random()永远不会返回1,这意味着在这种情况下我们永远不会从Math.floor获得11。最大可能值为10。