오늘 친구가 나에게 조언을 구했습니다: JavaScript를 사용하여 지정된 범위에서 난수를 생성하는 방법. 저는 Math.random()이 난수를 생성하는 데 사용되는 메서드라는 것을 모두가 알고 있다고 믿습니다. 그러나 일반 참조 매뉴얼에서는 이 방법을 사용하여 지정된 범위 내에서 난수를 생성하는 방법을 설명하지 않습니다. 이번에는 Math.random()을 자세히 소개하고 이를 사용하여 지정된 범위 내에서 난수를 생성하는 방법을 소개하겠습니다.
w3school의 random() 튜토리얼
정의 및 사용법
random() 메소드는 0~1 사이의 난수를 반환합니다.
문법
Math.random()
반환값
0.0~1.0 사이의 의사 난수입니다.
예
이 예에서는 0과 1 사이의 임의의 숫자를 얻습니다.
<script type="text/javascript"> document.write(Math.random()); </script> // 输出: 0.15246391076246546
지정된 범위 내에서 난수를 생성하는 방법
w3school 튜토리얼을 읽은 후에는 Math.random() 메서드의 기본 사용법을 알아야 합니다.
반올림에는 parsInt(), Math.floor() 또는 Math.ceil()을 사용하세요
Math.random() 메서드를 사용하면 1보다 작은 숫자가 직접 생성되므로 다음과 같습니다.
Math.random()*5
얻은 결과는 5보다 작은 난수입니다. 우리가 일반적으로 얻고자 하는 것은 0-5 사이의 정수이므로, 우리가 기대하는 정수를 얻으려면 결과를 반올림해야 합니다. parsInt(), Math.floor() 및 Math.ceil()은 모두 반올림 역할을 할 수 있습니다.
var randomNum = Math.random()*5; alert(randomNum); // 2.9045290905811183 alert(parseInt(randomNum,10)); // 2 alert(Math.floor(randomNum)); // 2 alert(Math.ceil(randomNum)); // 3
테스트된 코드에서 parsInt()와 Math.floor()가 모두 정수 부분을 아래쪽으로 취한다는 점에서 동일한 효과를 갖는 것을 볼 수 있습니다. 따라서parseInt(Math.random()*5,10) 및 Math.floor(Math.random()*5)는 모두 0-4 사이에서 생성된 난수이며, Math.ceil(Math.random()*5)은 1~5 사이의 난수를 생성했습니다.
지정된 범위 내에서 난수 생성
따라서 1부터 임의의 값까지 난수를 생성하려는 경우 공식은 다음과 같습니다.
// max - 期望的最大值 parseInt(Math.random()*max,10)+1; Math.floor(Math.random()*max)+1; Math.ceil(Math.random()*max);
0부터 임의의 값까지 난수를 생성하려는 경우 공식은 다음과 같습니다.
// max - 期望的最大值 parseInt(Math.random()*(max+1),10); Math.floor(Math.random()*(max+1)); 如果你希望生成任意值到任意值的随机数,公式就是这样的: // max - 期望的最大值 // min - 期望的最小值 parseInt(Math.random()*(max-min+1)+min,10); Math.floor(Math.random()*(max-min+1)+min);
이 글을 읽고 많은 것을 배웠나요? 난수 수학 난수 사용법을 이해하셨나요? 이 글이 도움이 되었으면 좋겠습니다. 감사합니다!