목차
- Math 객체 특징
- Math.min() 메서드 - 최소값 반환
- Math.max() 메서드 - 최대값 반환
- Math.random() 메서드 - 0~1사이 랜덤 숫자 반환
- Math.round() 메서드 - 기본 반올림
- Math.ceil() 메서드 - 천장 반올림
- Math.floor() 메서드 - 바닥 반올림
- 0≤값≤10 범위의 랜덤 정수 생성
- Math 객체 내장 상수 종류 (8개)
- Math 객체 내장 메서드 종류
Math 객체 특징
[주의] 대소문자 구분하므로 표기할 때 주의.
1.
Math 객체는 숫자 이용한 수학적인 처리 가능케 함.
2.
Math 객체엔 여러 수학 메서드(methods) 내장 중임.
(예)
- Math.random() - 랜덤 숫자 생성
- Math.min() - 최소값 얻기
- Math.max() - 최대값 얻기
- ...
3.
Math는 생성자(constructor)가 없음. 어떠한 메서드이든 Math 객체를 먼저 생성할 필요가 없음.
Math.min() 메서드 - 최소값 반환
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML =
Math.min(12, 34, 0, -34, -12); // -34
}
</script>
결과값: -34
Math.max() 메서드 - 최대값 반환
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML =
Math.max(12, 34, 0, -34, -12); // 34
}
</script>
결과값: 34
Math.random() 메서드 - 0~1사이 랜덤 숫자 반환
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML = Math.random(); // 0~ 1사이 랜덤 숫자
}
</script>
결과값 예:0.46805146150290966
Math.round() 메서드 - 일반 반올림
[예제1] - 0.5 미만 시 아래로 반올림
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML = Math.round(3.45); // 3
}
</script>
결과값: 3
[예제2] - 0.5 이상 시, 위로 반올림
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML = Math.round(3.55); // 4
}
</script>
결과값: 4
Math.ceil() 메서드 - 천장 반올림
※ 천장 반올림: 소수수점 이하가 0.5 넘든 안 넘든 무조건 반올림
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML = Math.ceil(3.44); // 소수점 이하가 0.44지만 무조건 반올림
}
</script>
결과값: 4
Math.floor() 메서드 - 바닥 반올림
※ 바닥 반올림: 소수점 이하 숫자 무조건 떼고 정수 만듦.
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML = Math.floor(3.54); // 3
}
</script>
결과값: 3
0≤값≤10 범위의 랜덤 정수 생성
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML =
Math.floor(Math.random() * 11); // 0~10 사이 랜덤 정수
}
</script>
결과보기
Math 객체 내장 상수 종류 (8개)
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
function homzzang() {
document.getElementById("demo").innerHTML =
Math.E + "<br>" + // 자연 로그의 밑인 Euler(오일러)의 상수. 약 2.718
Math.PI + "<br>" + // 원주율. 약 3.14159
Math.SQRT2 + "<br>" + // 2의 제곱근. 약 1.414
Math.SQRT1_2 + "<br>" + // 0.5의 제곱근 값 또는 1을 2의 제곱근으로 나눈 값. 약 0.707
Math.LN2 + "<br>" + // 2의 자연 로그. 약 0.693
Math.LN10 + "<br>" + // 10의 자연 로그. 약 2.302
Math.LOG2E + "<br>" + // 밑이 2인 자연 로그. 약 1.443
Math.LOG10E + "<br>"; // 밑이 10인 자연 로그. 약 0.434
}
</script>
결과값:
2.718281828459045
3.141592653589793
1.4142135623730951
0.7071067811865476
0.6931471805599453
2.302585092994046
1.4426950408889634
0.4342944819032518
Math 객체 내장 메서드 종류
메서드
|
의미 |
Math.abs(x) |
숫자 x의 절대값(absolute value) 반환 |
Math.acos(x) |
|
Math.asin(x) |
|
Math.atan(x) |
|
Math.atan2(y,x) |
|
Math.ceil(x) |
무조건 더 큰 정수로 반환 |
Math.cos(x)
|
|
Math.exp(x) |
|
Math.floor(x) |
무조건 소수점 이하를 뗀 정수로 반환 |
Math.log(x) |
|
Math.max(x,y,z,...,n) |
독립변수들 중 가장 큰 값 반환 |
Math.min(x,y,z,...,n) |
독립변수들 중 가장 작은 값 반환 |
Math.pow(x,y) |
x의 y승 (예제) 2의 3승 경우, 2 x 2 x 2 = 8 |
Math.random() |
0과 1사이의 임의의 숫자를 반환 |
Math.round(x) |
소수점 이하를 반올림해서 정수로 반환 |
Math.sin(x) |
|
Math.sqrt(x) |
|
Math.tan(x) |
|
※ 빈 애들은 몰라도 됨. ㅡㅡ;