자바스크립트 중급 강좌 (숫자,수학)

히대·2023년 11월 10일

Javascript

목록 보기
15/28

toString() 숫자를 문자로 바꿔줌.

10진수 -> 2진수 / 16진수

let num = 10;

num.toString(); // "10" 
num.toString(2); // "1010"  괄호안에 숫자를 적으면 그 안에 진법으로 바꿔줌

let num2 = 255;

num2.toString(16); // "ff"

Math

Math.PI : 원주율을 구해줌

Math.ceil(): 올림 소수점 상관없이 올려버림
Math.floor(): 내림 소수점 상관없이 내려버림
Math.round() : 반올림 소수점에 따라 반올림

소수점 자리수

let userRate = 30.1234;

요구사항 : 소수점 둘째자리 까지 표현(셋째 자리에서 반올림) -> 30.12

방법1

Math.round(userRate * 100) /100 -> 30.12 출력

방법2

userRate.toFixed(2); -> "30.12" 출력 **toFixed는 문자열을 반환**

숫자형으로 바꾸는 방법

Number(userRate.toFixed(2)); -> 30.12 Number()로 감싸서 숫자형으로 반환시키기

userRate.toFixed(0); -> "30" 출력
userRate.toFixed(6); -> "30.123400" 출력 소수점 자리 초과일땐 0으로 출력

isNaN() NaN인지 아닌지를 파악해줌

let x = Number("x"); -> NaN

x == NaN // false
x === NaN // false
NaN == NaN // false  NaN은 특이하게 자기자신을 false로 출력함

isNaN(x) // true 
isNaN(3) // false

parseInt() 정수형으로 변환

let margin = "10px"; 
parseInt(margin); // 10 정수형으로 변환 단 숫자로 시작해야하며 숫자인 부분까지만 변환을 함
Number(margin); // NaN 문자와 함께있으면 변환 불가


let redColor = "f3";
parseInt(redColor); // NaN 숫자로 시작하지 않기때문에 변환 불가

parseInt(redColor, 16); // 243 16진수는 헷갈린다..뭐라는지 모르겠음

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 // +1을 더해주는 이유는 Math.floor를 통하여 
									내림이기때문에 0부터 99까지만 출력됨 
                                    우리가 원하는건 100까지 이기때문에 
                                    100도 출력될수 있게 +1을 해줌

                                    여기서 100은 우리가 원하는 최대값 
                                    예를들어 0~5까지면 100이 아닌 5를 곱하면 됨.

Math.max() : 최대값 구하기
Math.min() : 최솟값 구하기

Math.max(1,4,-1,5,10,9,5.54); // 10
Math.min(1,4,-1,5,10,9,5.54); // -1

Math.abs() : 절대값구하기

Math.abs(-1) // 1 

Math.pow(n,m) : 제곱 n의 m승

Math.pow(2,10); // 1024 

Math.sqrt() : 제곱근

Math.sqrt(16); // 4 
profile
아자아자 파이팅🔥

0개의 댓글