$(function() {
var number = document.getElementById("breuken");
var i=0;
for (i=1;i<=10;i++){
var fRandom = Math.floor(Math.random()*10);
var sRandom = Math.floor(Math.random()*10);
var calc = fRandom - sRandom;
number.innerHTML += "" + fRandom + " - " + sRandom + " = " + calc + "<br />";
}
number.innerHTML;
});
基本上,它现在所做的是它在10下显示2个随机数。它从第一个数字中减去第二个数字。
我想要的是第一个数字总是高于第二个数字,所以我不会得到像'-3'这样的答案。
答案 0 :(得分:2)
只需使用Math.abs()
?
var calc = Math.abs(fRandom - sRandom);
如果订单很重要,您也可以
var sRandom = Math.floor(Math.random()*10);
// lower bound of sRandom, upper bound of (10 - sRandom)
var fRandom = Math.floor(sRandom + Math.random()*(10-sRandom));
答案 1 :(得分:1)
最简单的解决方案是采用绝对值:
var calc = Math.abs(fRandom - sRandom);
但是,由于您还列出了第一个和第二个数字,您可能希望使用最小值和最大值对值进行排序并重新存储它们:
var bigRandom = Math.max(fRandom, sRandom);
var lilRandom = Math.min(fRandom, sRandom);
var calc = bigRandom - lilRandom;
number.innerHTML += "" + bigRandom + " - " + lilRandom + " = " + calc + "<br />";
答案 2 :(得分:0)
无论
var fRandom = Math.floor(5 + Math.random()*5);
var sRandom = Math.floor(Math.random()*5);
或只是在结果上致电Math.abs()
。
答案 3 :(得分:0)
您可以在[0; fRandom]范围内生成第二个数字:
var fRandom = Math.floor(Math.random()*10);
var sRandom = Math.floor(Math.random()*fRandom);
或只是交换值:
var fRandom = Math.floor(Math.random()*10);
var sRandom = Math.floor(Math.random()*10);
if(sRandom<fRandom) {
var temp = sRandom;
sRandom = fRandom;
fRandom = temp;
}
答案 4 :(得分:0)
如果您需要这样的随机数,请使用
var fRandom = Math.floor(Math.random()*10);
var sRandom = Math.floor(Math.random()*fRandom);
var fRandom = Math.floor(Math.random()*10);
var sRandom = Math.floor(Math.random()*fRandom);
答案 5 :(得分:0)
在减去之前添加更多行:
if(fRandom < sRandom)
fRandom = (sRandom - fRandom ) + Math.floor((Math.random() *10));