Javascript

Jw-43] Javascript - 숫자, 수학 method

재워닛 2023. 6. 6. 22:04

toString()

10진수 → 2진수

let num = 12;

num.toString(); // '12'
num.toString(2); // '1100' / 2진수
num.toString(16); // 'c' / 16진수

Math

Math.PI; //3.141592653589793

 

Math.ceil() : 올림

let num1 = 6.1
let num2 = 6.8

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

Math.floor() : 내림

let num1 = 6.1;
let num2 = 6.8;

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

Math.round() : 반올림

let num1 = 6.1;
let num2 = 6.8;

Math.round(num1); // 6
Math.round(num2); // 7

소수점 자릿수

let userRate = 30.1234;

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

userRate * 100 // 3012.34
↓
Math.round(userRate * 100) // 3012
↓
Math.round(userRate * 100)/100
↓
30.12

소수점 자릿수 : toFixed()

let userRate = 30.1234;

// 요구사항 : 소수점 첫째자리 까지 표현
userRate.toFixed(1); // '30.1'

// 요구사항 : 소수점 둘째자리 까지 표현
userRate.toFixed(2); // '30.12'

// 요구사항 : 소수점 셋째자리 까지 표현
userRate.toFixed(3); // '30.123'

userRate.toFixed(0); // '30'
userRate.toFixed(6); // '30.123400'

toFixed()의 문제점

문자열로 반환되므로

Number를 이용하여 숫자형으로 반환해준다

let userRate = 30.1234;

userRate.toFixed(1); // '30.1'
Number(userRate.toFixed(1)); // 30.1

isNaN()

let x = Number('x'); // NaN

x == NaN // flase
x === NaN // flase
NaN == NaN // flase

isNaN(x) // true
isNaN(3) // flase

parseint()

문자형 -> 숫자형

let margin = '10px'

parseInt(margin); // 10
Number(margin); // NaN
let redColor = 'f3'
parseInt(redColor); // NaN
↓
숫자로 시작하지않으면 NaN 출력

let redColor = 'f3'
parseInt(redcolor, 16); // 243
↓
16진수로 출력은 가능 // 2진수 10진수도 가능

parseFloat()

let padding = '18.5%'

parseInt(padding); // 18
parseFloat(padding); // 18.5

Math.random()

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

Math.random() // 0.7566705849373638
Math.random() // 0.0036048720104586707
Math.random() // 0.6861616889677584
Math.random() // 0.13074857659489658

1 ~ 100 사이 임의의 숫자를 뽑고 싶다면?

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


1. 일단 Math.random()으로 임의 숫자를 뽑아준다. 예를 들면 0.3942...
2. 곱하기 100을 해준다 그러면 39.42...
3. Math.floor()를 이용하여 소수점 밑에를 제거해준다. 그러면 39.
4. 마지막으로 +1를 해준다. 이유는 0.02...혹은 0.002..가 나올 수 있기 때문이다. //

 

Math.max() / Math.min()

최댓값 / 최솟값

Math.max(1, 4, -4, 39, 4.2, -1,2); // 39
Math.min(1, 4, -4, 39, 4.2, -1,2); // -4

Math.abs()

절대값 (absolute)

Math.abs(-1); // 1

Math.pow(x,  y) : 제곱

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

Math.sqrt() : 제곱근

Math.sqrt(16) // 4

.

.