자바스크립트 수학에서 난수 무작위 지정된 값 범위 내에서 난수를 생성하는 방법 _javascript 기술

WBOY
풀어 주다: 2016-05-16 15:35:53
원래의
2079명이 탐색했습니다.

오늘 친구가 나에게 조언을 구했습니다: 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);
로그인 후 복사

이 글을 읽고 많은 것을 배웠나요? 난수 수학 난수 사용법을 이해하셨나요? 이 글이 도움이 되었으면 좋겠습니다. 감사합니다!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿