[Javscript] 숫자, 수학 method

ᴄsᴇ ᴘᴇʙʙʟᴇ·2024년 1월 14일
0

Javascript 공부 노트

목록 보기
3/5

toString()

let num = 10;
num.toString(); // "10" -> 숫자를 문자열로 바꿔줌
num.toString(2); // 10진수 "10"을 2진수 "1010"으로 바꿔줌

let num2 = 255;
num2.toString(16); // 10진수 "255"를 16진수 "ff"로 바꿔줌

수학

Math.PI

Math.ceil()

올림

let num1 = 5.1;
let num2 = 5.7;

Math.ceil(num1); // 6
Math.ceil(num2); // 6

Math.floor()

내림

let num1 = 5.1;
let num2 = 5.7;

Math.ceil(num1); // 5
Math.ceil(num2); // 5

Math.round()

반올림

let num1 = 5.1;
let num2 = 5.7;

Math.ceil(num1); // 5
Math.ceil(num2); // 6

소수점 자릿수

  1. Math.round() 이용
let userRate = 30.1237;

//소수점 둘째자리까지 표현(셋째자리에서 반올림)
Math.round(userRate * 100) / 100 //30.12

//소수점 셋째자리까지 표현(넷째자리에서 반올림)
Math.round(userRate * 1000) / 1000 //30.124
  1. toFixed() 이용
let userRate = 30.1237;

//소수점 둘째자리까지 표현(셋째자리에서 반올림)
userRate.toFixed(2); //30.12

//소수점 셋째자리까지 표현(넷째자리에서 반올림)
userRate.toFixed(3); //30.124

//그 외
userRate.toFixed(0); //"30"
userRate.toFixed(6); //"30.123700"

단, 주의할 점은 toFixed()문자열을 반환한다.

isNaN()

숫자인지 아닌지 판단.
==NaN이나 ===NaN으로 하면 안됨!

let x = Number("x"); //x는 NaN임

//isNaN() 이용 안할 경우, 우리가 원하는 결과가 안 나옴
x == NaN //false
x === NaN // false
NaN == NaN // false -> 심지어 이것도 false라고 함

//따라서 NaN 판단은 무조건 isNaN()으로 해야한다.
isNaN(x) // true
isNaN(3) // false

parseInt()

문자열을 숫자로 바꿔줌. Number()와 다른 점은, 문자가 포함되어 있어도 동작을 한다는 것이다. 읽을 수 있는 부분까지 읽고, 문자를 만나면 읽은 부분까지를 반환한다. 즉 처음부터 문자로 시작하면 숫자를 반환하지 못하고 NaN을 반환한다. Number()는 어디에든 문자가 포함되어 있으면 NaN을 반환한다.(단 공백은 있어도 상관없음)

let margin = "10px";

parseInt(margin); //10
Number(margin); // NaN

// 이 경우에는 parseInt도 NaN을 반환한다
let redColor = "f3";
parseInt(redColor); //NaN

parseInt()는 두 번째 인수로 진수를 설정해줄 수 있다.

//위에서 작성한 예제
let redColor = "f3";
parseInt(redColor); //NaN

//16진수로 설정. 16진수에서 f는 숫자이다.
let redColor = "f3";
parseInt(redColor, 16); //243

parseFloat()

parseInt()와 동일하게 동작하지만, 부동소수점을 반환한다.

let padding = "18.5%";
parseInt(padding); // 18
parseFloat(padding); // 18.5

Math.random()

0~1 사이 무작위 숫자 생성

Math.random(); // 0.45930103294789837
Math.random(); // 0.26114731261519153
Math.random(); // 0.8677601709129028

그럼 1~100 사이 무작위 숫자를 뽑고 싶다면?

Math.floor(Math.random() * 100) + 1;

Math.max()

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

Math.abs()

절대값(absolute)

Math.abs(-1); // 1

Math.pow(n,m)

n^m

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

Math.sqrt()

제곱근

Math.sqrt(16); // 4
profile
ꜱɪɴᴄᴇ 2021.09.01

0개의 댓글