我偶然发现了这个问题,而不是给我最小,最大的随机数,它每次给我0!在此特定时刻,min为0(被动),max为1.02
我的主app.js文件中的变量:
var randomTicket = helper.getRandomInt(0, g_Totalcost);
这是辅助函数:
var getRandomInt = function(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
答案 0 :(得分:0)
尝试强制转换(或转换为浮点值)参数g_Totalcost
:
var randomTicket = helper.getRandomInt(0, parseFloat(g_Totalcost));
或者,转换函数的参数:
var getRandomInt = function(min, max) {
return Math.floor(Math.random() * (parseFloat(max) - parseFloat(min) + 1)) + parseFloat(min);
};
答案 1 :(得分:0)
我认为您需要添加某种验证来防止非整数输入,否则该函数将无法按预期运行。
我的猜测是你忘记了函数开头的以下几行:
sh: eb_server.js: command not found
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
以下是一些支持性分析。
min = Math.ceil(min);
max = Math.floor(max);
简化为
return Math.floor(Math.random() * (1.02 - 0 + 1)) + 0;
Math.random()返回0(包括)和1(不包括)之间的数字
因此,让我们根据Math.random()的值计算一些不同的可能结果。