자바스크립트 중급 강좌 #5 - 숫자, 수학 method (Number, Math)
10진수를 2진수/16진수로 바꾸기. toString()
Math
자바스크립트에는 수학과 관련된 프로퍼티와 메서드들을 갖고 있는 Math 라는 내장 객체가 있다.
위 예시처럼, Math.PI 로 원주율을 확인할 수 있다.
Math.ceil() : 올림
Math.floor() : 내림
Math.round() : 반올림
소수점 자릿수 표현
만약 소수점 둘째자리까지 표현해야 한다면,
100을 곱해주고 Math.round()를 활용해 반올림 해주고, 그걸 100으로 나눠주면 된다.
소수점 자릿수 : toFixed()
위의 방법보다 더 간단하게는, toFixed()를 사용하면 된다.
인수로 넣어주는 수만큼 소수점 자릿수를 표현해준다.
만약, 인수로 0이나, 원래 소수 자릿수보다 큰 수가 들어가면 어떨까.
0은 그대로 정수 부분만 나오고
원래 소수 자릿수보다 더 큰 경우에는 그만큼이 0으로 채워져서 나온다.
toFixed() 사용 시, 주의할 점!
문자로 반환하기 때문에, 이걸 다시 Number()를 이용해서 숫자로 바꿔줘야 한다.
Math.random()
만약 1~100 사이 임의의 숫자를 뽑고 싶다면
Math.random() 으로 0~1 사이의 랜덤 숫자를 생성하고, 그 수에 100을 곱해준다.
처음 생성한 랜덤수는 0< 랜덤 수 < 1 이므로, 100을 곱해주면 0 < 랜덤수 < 100 이 된다.
이 수를 Math.floor 로 정수를 만들어준다.
근데 이때, 0.6789 같은 수는 100을 곱해줘서 67.89가 되고, 이걸 정수로 만들어주면 67이 돼서 큰 문제가 없지만,
0.0091 같은 수는 100을 곱해주면 0.91 이기 때문에 정수로 만들어주면 0이 돼버린다.
1~100 사이의 랜덤수를 뽑아야 하기 때문에 이런 경우를 위해 마지막에 1을 더해준다.
Math.max() / Math.min() : 최댓값, 최솟값 구하기
Math.abs() : 절대값 구하기
abs 는 absolute의 약자이다.
Math.pow(n, m) : 제곱 구하기
pow는 power의 약자이다.
Math.pos(2, 10) 은 2의 10승이므로 1024를 반환한다.
Math.sqrt() : 제곱근
sqrt는 squre root의 약자이다.
isNaN()
isNaN()은 NaN 인지 아닌지 판단해준다.
NaN 인지 아닌지 판단은 오로지 isNaN() 으로만 가능하다.
만약 예시처럼 x 가 NaN 인 경우, isNaN(x)는 true 값을 반환한다.
하지만 x 가 NaN 임에도 불구하고, 비교 연산자를 통해 x 와 NaN 이 같은지 확인하면 false 가 나온다.
심지어 NaN은 NaN 과 비교해도 false 가 나온다.
오로지 isNaN()을 통해서만 NaN인지 확인이 가능하다는 것이다.
parseInt() : 숫자로 변환
Number() 와 다른 점: parseInt() 는 문자가 섞여있어도 숫자로 변환이 가능하다.
단, 숫자로 시작하지 않으면 NaN 은 반환한다.
두번째 인수에 진수를 지정할 수 있다.
예시처럼 'f3'을 그냥 넣으면 NaN을 반환하지만,
두번째 인수로 16을 넣어서 16진수로 바꾸면 243을 반환한다.
parseFloat() : 소수부까지 숫자로 변환
parseInt() 와 동일하게 동작하지만 소수부까지 변환해준다.
'자바스크립트 중급 강의' 카테고리의 다른 글
배열 메소드1(Array methods) - 자바스크립트 중급 강좌 #7 (0) | 2021.10.27 |
---|---|
문자열 메소드(String methods) - 자바스크립트 중급 강좌 #6 (0) | 2021.10.27 |
심볼(Symbol) - 자바스크립트 중급 강좌 #4 (0) | 2021.10.27 |
객체 메소드(Object methods), 계산된 프로퍼티(Computed property) -자바스크립트 중급 강좌 #3 (0) | 2021.10.27 |
생성자 함수 - 자바스크립트 중급 강좌 #2 (0) | 2021.10.27 |
댓글