본문 바로가기
Front

[Javascript] 수학 객체 / Math.abs() / Math.max() / Math.min() / Math.pow() / Math.random() / Math.round() / Math.ceil() / Math.floor() / Math.sqrt() / Math.PI()

by bkuk 2022. 9. 19.

자바스크립트 내장 객체에는 수학 관련 기능과 속성을 제공하는 수학 객체(Math Object) 존재

 

날짜 객체와는 다르게 객체를 따로 선언할 필요가 없음. 메소드를 통해 바로 사용이 가능

 

수학정보 객체

Math.abs(숫자) 절댓값 반환
Math.max( 숫자1, 숫자2, ... 숫자n ) 가장 큰 값 반환
Math.min( 숫자1, 숫자2, ... 숫자n ) 가장 작은 값 반환
Math.pow( 숫자, 제곱값 ) 거듭제곱값을 반환
Math.random() 0 <= x < 1 구간의 난수를 반환
Math.round(숫자) 소수점 첫쨰 자리에서 반올림 후 정수 반환
Math.ceil(숫자) 소수점 첫쨰 자리에서 무조건 올림 후 정수 반환
Math.floor(숫자) 소수점 첫쨰 자리에서 무조건 내림 후 정수 반환
Math.sqrt(숫자) 제곱근값을 반환
Math.PI 원주율 상수 반환

 

사용 예 1 ( Math.ceil() / Math.floor() / Math.round() / Math.max() )

console.log("==올림==");
    console.log( Math.ceil( 5.6 ) );
    console.log( Math.ceil( 5.5 ) );
    console.log( Math.ceil( 5.4 ) );

console.log("==내림==");
    console.log( Math.floor( 5.6 ) );
    console.log( Math.floor( 5.5 ) );
    console.log( Math.floor( 5.4 ) );

console.log("==반올림==");
    console.log( Math.round( 5.6 ) );
    console.log( Math.round( 5.5 ) );
    console.log( Math.round( 5.4 ) );

console.log("==최대/최소==");
    console.log( Math.max( 53, 263, 57, 32));

 

출력( Math.ceil() / Math.floor() / Math.round() / Math.max() )

 

사용 예 2 ( Math.random())

난수의 기본범위: 0 <= x < 1 이므로 실수가 출력

console.log( Math.random() );
console.log( Math.random() );
console.log( Math.random() );

 

실수가 출력됨.

 

난수의 기본범위인 (0 <= x < 1)에 *10을 곱한다면?

0 * 10 <= X * 10 < 1 * 10 이 되므로, → 0 <= 10X < 10가 되어서, 0 ~ 9의 실수가 출력되나,

parsetInt() 메서드를 사용해서 정수가 출력 
console.log( parseInt(Math.random() * 10 ));
console.log( parseInt(Math.random() * 10 ));
console.log( parseInt(Math.random() * 10 ));

정수가 출력됨.

 

 

로또 번호인 0 ~ 45 범위의 난수를 생성하게 하려면?

 

console.log( parseInt((Math.random() * 45) + 1) ); 
console.log( parseInt((Math.random() * 45) + 1) ); 
console.log( parseInt((Math.random() * 45) + 1) ); 
console.log( parseInt((Math.random() * 45) + 1) ); 
console.log( parseInt((Math.random() * 45) + 1) ); 
console.log( parseInt((Math.random() * 45) + 1) );

난수가 출력됨.

댓글