I'm making a simple random number generator game using JS and HTML. In this game you can set minimum and maximum values of random numbers.
However, when setting the variable and recording the result, an impossible number appears. For example, if I set the minimum value to 50 and the maximum value to 100, it will show answers like 58650 , 16750 , or 31450 . I noticed that the smallest number you set always appears at the end. I've tried changing the format and changing the code but nothing seems to work.
Does anyone know the solution to this problem? Your help is greatly appreciated, thank you! !
Home.html (probably not the problem):
Random Number Generator Random Number Generator
Enter 2 numbers that you want the random number to be in between
-
Home.js:
const usermininput = document.getElementById("inputmin") const usermaxinput = document.getElementById("inputmax") const usersubmitBtn = document.getElementById("submitbtn") const result = document.getElementById("result") function random(min, max) { return Math.floor(Math.random() * max) + min; } usersubmitBtn.addEventListener("click", () =>{ const usermin = usermininput.value const usermax = usermaxinput.value console.log(random(usermin,usermax)) })
The
value
attribute of the input element is a string, so you need to convert it to a number first (otherwise,performs string concatenation instead of addition). This can be done using the unary plus operator, i.e.
const usermin = usermininput.value
andconst usermax = usermaxinput.value
.Alternatively, use
and access the
valueAsNumber
property.