기초/JavaScript
JS 기초 ) Number , Math
디깅
2022. 8. 1. 17:35
728x90
Number
# 10진수 → 2진수 or 16진수 로 바꾸는 방법
10진수 → 2진수 : 숫자가담긴값.toString(2)
10진수 → 16진수 : 숫자가담긴값.toString(16)
let num = 10;
num.toString(); // 문자로 변경
num.toString(2) // 2진수로 변경
let num2 = 255;
num2.toString(16) // ff -> 16진수로 변경
Math
수학과 관련된 property 와 method를 가진 내장객체
# Math.PI
원주율 출력
Math.PI; // 3.141592653589793
Math.ceil() | 올림 |
Math.floor() | 내림 |
Math.round() | 반올림 |
let num1 = 5.1;
let num2 = 5.7;
// 올림
Math.ceil(num1); // 6
Math.ceil(num2); // 6
// 내림
Math.floor(num1); // 5
Math.floor(num2); // 5
// 반올림
Math.round(num1); // 5
Math.round(num2); // 6
# toFixed()
소숫점 자릿수가 지정되어 있는 경우
→ 숫자가담긴값.toFixed(자릿수)
자릿수=0 → 정수만 반환
자릿수=기존소수점 이상의 숫자 → 뒷자리는 0으로 채움
반환값이 문자열이기 때문에 숫자로 사용하려면 Number()를 통해 변환작업 해줘야 한다.
// 소수점 둘째자리 까지 표현 (=셋째 자리에서 반올림)
//첫번째 방법
let userRate = 30.1234;
Math.round(userRate * 100) /100
//두번째 방법
let userRate2 = 30.1234;
userRate2.toFixed(2); // "30.12"
userRate2.toFixed(0); // "30"
userRate2.toFixed(6); // "30.123400" 뒷부분은 0으로 채워줌
Number(userRate2.toFixed(2)) // 30.12
# isNaN()
NaN은 자기자신끼리 비교도 false로 나온다.
isNaN 으로만 NaN인지 아닌지 판단이 가능하다.
let x = Number('x'); // NaN
x == Nan // false
x === Nan // false
NaN == Nan // false
isNaN(x) // true
isNaN(3) // false
# parseInt()
숫자로 되어있는 부분을 읽다가 문자가 나타나면 숫자까지만 반환한다.
따라서 첫 시작이 숫자여야지 인식이 가능하다.
# parseInt(값, 자릿수)
자릿수 지정을 통해 원하는 진수로 변환도 가능하다.
let margin = '10px';
pareInt(margin); // 10
Number(margin) // NaN
let redColor = 'f3';
pareInt(redColor); // NaN
pareInt(redColor,16); // 16진수로 변환 -> 243
parseInt('11', 2) // 3
# parseFloat()
부동소수점을 반환한다.
let padding = '18.5%';
parseInt(padding); // 18
parseFloat(padding); // 18.5
# Math.random()
0~1 사이 무작위 숫자 생성
1~100 사이 임의의 숫자를 생성하고 싶다면
→ Math.floor(Math.random()*100)+1
# Math.max() / Math.min()
최대값/최솟값 구하기
Math.max(1,3,-8,4,15,4.12) //15
Math.min(1,3,-8,4,15,4.12) //-1
# Math.abs() / Math.pow(n,m) / Math.sqrt()
Math.abs() | 절대값 |
Math.pow(n,m) | 제곱 |
Math.sqrt() | 제곱근 |
Math.abs(-5) // 5
Math.pow(2,10) // 1024
Math.sqrt(16) // 4
참고 : https://www.youtube.com/watch?v=4_WLS9Lj6n4&t=1158s
반응형