JavaScript 자주 사용하는 숫자계산 .Math()

Match

Math는 수학적인 상수와 함수를 위한 속성과 메서드를 가진 내장 객체로, 함수 객체가 아니다.
Math는 Number 자료형만 지원하며 BigInt와는 사용할 수 없습니다.


01. Match.random

0.0 ~ 1.0 사이의 랜덤한 값 (= 난수)를 반환한다.

<script>

let randomNum = Math.random() * 10;

// ( * 10 )은 정수값으로 변환하기 위해 사용하였다.

console.log(randomNum); // 랜덤한 값 n.nnnnn.....

</script>

02. Match.floor

정수를 내림(=버림) 한다.
예를들어, 3.14를 내림하면 3이라는 정수가 나온다.

<script>

console.log( "내림 : " + Math.floor(randomNum) );
//내림 : (랜덤한 값 n)

</script>

03. Match.ceil

정수를 올림한다.
예를들어, 3.14를 올림하면 4라는 정수가 나온다.

<script>

console.log( "올림 : " + Math.ceil(randomNum) );
//올림 : (랜덤한 값 n)

</script>

04. Match.round

정수를 반올림한다.
예를들어, 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>

좋은 웹페이지 즐겨찾기