August 10th 2018
안녕하세요. 오늘은 학습한 내용 중 자바스크립트로 임의의 숫자를 만드는 방법을 정리해 보고자 합니다.
목차 - 한 자리의 임의의 자연수 만들기 - 주어진 범위 내에서의 임의의 수 만들기
- 한 자리의 임의의 자연수 만들기 먼저, 한 자릿수의 숫자를 임의를 만들기 위해서 자바스크립트의 내장 객체인 Math의 radom메소드를 사용할 수 있습니다. Math.random() 메소드는 0을 포함하며 1보다 작은 임의의 소수를 반환해 줍니다.
반환받은 소수를 자연수로 만들기 위해서는 Math객체의 또다른 Method인 ceil이나 floor, round를 사용할 수 있습니다. ceil은 올림할 때, floor는 내림, round는 반올림 할 때 사용할 수 있습니다.
Math.random(); // => 임의의 수 반환 ex) 0.23432423
Math.ceil(Math.random()); // => 반환 받은 소수를 올림하여 결과값은 1이 된다.
Math.round(Math.random()); // => 소수를 반올림 후 0 or 1을 반환함.
이제 이 수를 가지고 1부터 9까지의 수 중 임의의 수를 추출해 보도록 하겠습니다.
Math.ceil(Math.random() * 10); // 1 ~ 10 중 임의의 수
Math.floor(Math.random() * 10); // 0 ~ 9 중 임의의 수
- 주어진 범위 내에서의 임의의 수 만들기 이번에는 범위가 주어졌을 때, 그 범위에 만족하는 임의의 수를 추출해 보도록 하겠습니다.
//최소값 포함 최대값 미포함
var minNumber = 5;
var maxNumer = 15;
Math.random() * (maxNumber - minNumber) + minNumber;
// 최소값이 5이상이 되어야 하므로 'maxNumber - minNumber'의 수에 최소값 5를 더합니다. 그러면 최소 5이상 최대 15미만의 수를 반환 받습니다.
Math.floor(Math.random() * (maxNumber - minNumber) + minNumber);
// 내림을 해줌으로써 5이상 15미만의 임의의 수를 반환 합니다.
//최소값 포함 최대값 포함
Math.ceil(Math.random() * (maxNumber - minNumber - 1) + minNumber);
/* or */
Math.floor(Math.random() * (maxNumber - minNumber + 1) + minNumber);
저는 학습한 내용을 포스팅하며 재정리하는 입장이기 때문에, 지나가며 이 글을 보고 이상한 점이나 혹은 다른 조언해 주실 사항 코멘트로 달아주시면 감사하겠습니다.