본문 바로가기
Frontend/Javascript

[JavaScript] 난수 생성하기 - Math.random()

by hyeok1235 2023. 8. 9.

Math.random() 메서드는 0 이상 1미만의 부동소수점의 난수를 생성합니다. 난수 생성에 사용되는 시드 값은 난수 생성 알고리즘에 의해 결정되기 때문에, 특정 값으로 지정하거나 변경이 불가능합니다. 

※ 주의 : Math.random() 메서드는 보안 상 안전한 난수를 제공하지는 않습니다. 보안/암호와 관련되어서는 사용하지 않는 것이 권장됩니다. 

 

Math.random() 메서드의 사용 방법 자체는 간단합니다.

Math.random()
// 0.5834082844933923
Math.random()
// 0.4934202120749698

 

메서드를 활용하면 다양한 유형의 랜덤 숫자를 구할 수 있습니다.

1) 두 값 사이의 랜덤 숫자 추출

아래 예시의 코드는 min 이상 max 미만의 구간에서 랜덤한 숫자를 구합니다.

function getRandomNum(min, max) {
  return Math.random() * (max - min) + min;
}

 

2) 두 값 사이의 랜덤 정수 추출

아래 예시의 코드는 min 이상 max 미만의 구간에서 랜덤한 정수를 구합니다. 

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min) + min);
}

* Math.ceil() : 소수점 올림 메서드

** Math.floor() : 소수점 내림 메서드

 

만약 min 이상 max 이하의 구간, 즉 최댓값도 포함해서 랜덤한 수를 뽑으려면 (max - min) + min이 아닌 (max - min + 1) + min으로 변경하시면 됩니다. 

 

728x90
반응형