html,css,js
[자바스크립트 중급] 숫자, 수학 Method (Number, Math)
코복이
2023. 5. 5. 12:20
728x90
1. toString() : 10진수 숫자를 2진수, 16진수로 변경 + 문자로 반환
- 변수.toString(원하는 진수);
- 숫자를 문자로 반환
- toString(2)는 2진수로 변경
- toString(16)은 16진수로 변경
// 10진수 숫자를 2진수 또는 16진수 문자로 반환
let num = 10;
console.log(num.toString()); // 10 (숫자를 문자로 반환)
console.log(typeof num.toString()); // String
console.log(num.toString(2)); // 1010
console.log(num.toString(16)); // a
2. toFixed() : 원하는 소수점 자릿수까지 표현
- 변수.toFixed(원하는 소수점);
- 실무에서 많이 쓰임.
- 문자를 반환하는 점을 기억
- 작업을 위해 반환된 것을 Number()로 변환하여 사용
// 원하는 소수점까지 표현
let userRate = 10.256111;
console.log(userRate.toFixed(3)); // 10.256
Number(userRate.toFixed(3));
3. isNaN() : 숫자인지 아닌지 판단해 줌.
- isNaN(무엇) // true == 숫자가 아님
- isNaN(무엇) // false == 숫자
- 그냥 NaN 은 숫자인지 아닌지 판단 못함 e.g) x == NaN // false, NaN === NaN // false
- 또는 typeof 로 확인
4. parseInt() : parse Int 임, 대문자 i 임. 파스인트라 읽음
- parseInt(변수 또는 "문자열", 진수);
- '문자열'을 숫자로 반환
- 2진수나 16진수를 ==> 10진수로 반환 가능 (두번째 인수로 진수를 지정할 수 있음)
- Number()와 다른 점은 문자가 혼용되어 있어도 동작을 함. 읽을 수 있는 부분까지 반환해줌. 그러나 숫자로 시작하지 않으면 NaN을 반환. 그런데 그 문자 숫자 혼용이 16진수로 표현 가능하면 숫자로 반환
- 소수점 이하는 무시하고 정수만 반환함.
// parseInt() 문자를 숫자로 반환
const redColor = "f3";
console.log(parseInt(redColor)); // NaN
console.log(parseInt(redColor, 2)); // NaN (f3를 2진법으로 표현 못함)
console.log(parseInt(redColor, 16)); // 243
console.log(parseInt("ff123")); // NaN (문자부터시작해서 표현 못함)
console.log(parseInt("123ff")); // 123 (숫자만 반환)
console.log(parseInt("f6", 16)); // 246
console.log(parseInt("123.555")); // 123 (소수점 이하는 무시함)
5. parseFloat() :
- parseFloat()
- parseInt와 동일하게 동작하지만 부동 소수점을 반환
- 부동소수점에 대해 공부를 좀 해봐야 이해가 될 듯하다.
Math 함수
6. Math.ceil() : 올림 (소수점 이하에 0이상 숫자 있으면 올림, 0.00000001 도 1로 올림)
- Math.ceil(변수);
- 정수로 반환
- 변수 들어갈 자리에 "숫자" 들어가도 됨. 그냥 숫자 들어가면 에러 문자타입으로 들어가야 함,
7. Math.floor() : 내림 (소수점 이하 버림)
- Math.floor(변수);
- 정수로 반환
- 변수 들어갈 자리에 "숫자" 들어가도 됨. 그냥 숫자 들어가면 에러 문자타입으로 들어가야 함,
8. Math.round() : 반올림
- Math.round(변수);
- 정수로 반환
- 변수 들어갈 자리에 "숫자" 들어가도 됨. 그냥 숫자 들어가면 에러 문자타입으로 들어가야 함,
📌 올림, 내림, 반올림 응용
1) 소수점 셋째자리에서 반올림해서 둘째자리까지 보여주세요.
=== 100을 곱해서 정수로 만들어 Math.round 로 반올림하고 다시 100을 나눔.
// 소수점 응용
// 소수점 셋째자리에서 반올림해서 둘째자리까지 보여주세요
let userRate = 10.256111;
console.log(Math.round(userRate * 100)/100); // 10.26
*이런 식으로 소수점 몇째자최리까지 표현하던 응용가능
9. Math.random() : 0 ~ 1 사이 무작위 숫자 생성
- 다양한 응용 가능
// Math.random 0~1사이 무작위 숫자 뽑기
Math.random();
console.log(Math.random()); // 0.15273488395052204
// 0~100 사이 무작위 숫자를 뽑고 싶다면?
Math.floor(Math.random() * 100);
console.log(Math.floor(Math.random() * 100)); // 74
// 1~100 사이 무작위 숫자를 뽑고 싶다면?
Math.floor(Math.random() * 100)+1;
console.log(Math.floor(Math.random() * 100)+1); // 51
10. Math.max() , Math,min() : 괄호 안의 인수들 중 최대값, 최소값을 구함.
- 배열되나 봤는데 안되네
// Math.max() 최대값, Math.min() 최소값 구하기
let array = [1,2,3,4,5,6,7]
console.log(Math.max(1,2,3,4,5)); // 5
console.log(Math.min(1,2,3,4,5)); // 1
console.log(Math.max(array)); // NaN
11. Math.abs() : 절대값
- abs는 absolute의 약자.
- () 괄호안 인수에 - 음수 넣어도 +로 나옴
12. Math.pow(n, m) : 제곱
- pow는 power의 약자.
- n의 m승
// Math.pow(n, m) 제곱
console.log(Math.pow(2, 5)); // 32
13. Math.sqrt() : 제곱근 (루트 씌우는 것)
- sqrt는 square root 의 약자
// Math.sqrt() 제곱근
console.log(Math.sqrt(256)); // 16
console.log(Math.sqrt(16)); // 4
728x90