我在javascript中创建了一个函数来绘制数字,但它不绘制最后一个数字,用户告知1到20,它只绘制从1到19的数字。
function rand (min=0, max){
const valor = Math.random() * (max - min) + min
return Math.floor(valor)
}
function gerar(){
const min = Number(document.getElementById("minimo").value)
const max = Number(document.getElementById("maximo").value)
我尝试 min=0 或 min=1 但不起作用。
似乎需要进行一些小的更改,对于您正在使用的方程,您需要传递 [max + 1] 才能包含最大数量,或者用方程更改函数
(Math.random() * (maximum - minimum + 1) ) << 0
左移 0 操作会有效地截断浮点数的小数部分,留下一个整数。这是可行的,因为 JavaScript 中的按位运算会自动将其操作数转换为 32 位整数,并且移位 0 不会更改值,但会导致转换为整数。
评论中有更多详细信息,谢谢@Mike 'Pomax' Kamermans
两者都适合您。