javascript中的math.random,尝试绘制最后一个数字

问题描述 投票:0回答:1

我在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 但不起作用。

javascript function math random draw
1个回答
0
投票

似乎需要进行一些小的更改,对于您正在使用的方程,您需要传递 [max + 1] 才能包含最大数量,或者用方程更改函数

(Math.random() * (maximum - minimum + 1) ) << 0

左移 0 操作会有效地截断浮点数的小数部分,留下一个整数。这是可行的,因为 JavaScript 中的按位运算会自动将其操作数转换为 32 位整数,并且移位 0 不会更改值,但会导致转换为整数。

评论中有更多详细信息,谢谢@Mike 'Pomax' Kamermans

两者都适合您。

© www.soinside.com 2019 - 2024. All rights reserved.