Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체로, 함수 객체가 아니다.
Math는 Number 자료형만 지원하며 BigInt와는 사용할 수 없습니다.
0.0 ~ 1.0 사이의 랜덤한 값 (= 난수)를 반환한다.
<script>
let randomNum = Math.random() * 10;
// ( * 10 )은 정수값으로 변환하기 위해 사용하였다.
console.log(randomNum); // 랜덤한 값 n.nnnnn.....
</script>
정수를 내림(=버림) 한다.
예를들어, 3.14를 내림하면 3이라는 정수가 나온다.
<script>
console.log( "내림 : " + Math.floor(randomNum) );
//내림 : (랜덤한 값 n)
</script>
정수를 올림한다.
예를들어, 3.14를 올림하면 4라는 정수가 나온다.
<script>
console.log( "올림 : " + Math.ceil(randomNum) );
//올림 : (랜덤한 값 n)
</script>
정수를 반올림한다.
예를들어, 3.14를 반올림(반내림)하면 3라는 정수가 나온다.
예를들어, 3.64를 반올림(반내림)하면 4라는 정수가 나온다.
<script>
console.log( "반올림 : " + Math.round(randomNum) );
//올림 : (랜덤한 값 n)
</script>
실제 자주 활용되는 메소드이므로 익숙해지는 것이 좋다.
참고 사이트
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math
프로그램은 3 ~ 10 사이의 랜덤한 값을 지정한다.
값을 클라이언트로부터 하나 입력받아서 정답인지 아닌지 출력해준다.
<script>
let randomNum = Math.random() * 7 + 3;
//3 ~ 10 사이의 랜덤한 값(난수)를 반환함 * 10은 정수값으로 변환하기 위해 사용
// 또 다른 방법
// let randomNum = Match.floor((Math.random() * 10)) % 8 + 3;
// 3 + 0 ~ 3 + 7
let gameNum = Math.round(randomNum); //반올림
let inputNum = prompt( "3 ~ 10 사이의 숫자를 입력하세요", "3" );
if(inputNum == gameNum) {
alert( "정답입니다." )
} else {
alert( "정답은" + gameNum + "입니다." )
}
</script>