Digking's cave

JS 기초 ) Number , Math 본문

기초/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

반응형