일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 엘리스코딩
- SQLD
- IT 지식
- CodeStates
- 모던 자바스크립트 deep dive
- javascript
- nomadcoders
- 톺아보기
- 알고리즘
- K-Digital Credit
- 백준
- 오블완
- Do it! 시리즈
- 공부를 가장한 일기일지도
- 구름edu
- 노개북
- 프로그래머스
- 최원영 저자
- 노마드 코더
- SQL 개발자
- 비전공자를 위한
- boj
- 이해할 수 있는
- 자격증
- 제로베이스
- 개발자북클럽
- 자바스크립트
- 노마드코더
- js
- 티스토리챌린지
- Today
- Total
개발자를 희망하는 초보의 자기개발 이야기
toFixed / toString / Math 메소드 본문
JavaScript toFixed / toString / Math 메소드
toFixed
: 자바스크립트는 정수, 실수에 대한 자료형을 따로 구분하지 않습니다. toFixed는 만약 소수점 아래의 자릿수를 고정해서 반환하고 싶을 때 파라미터로 숫자 값을 전달해 주면 그만큼 소수점 아래의 자릿수를 반올림해서 고정해 주는 메소드입니다.
let number = 0.1234;
console.log(number.toFixed(3)) // '0.123' 출력
: 존재하는 자릿수 값보다 큰 수를 파라미터로 전달하면 0을 추가해서 출력합니다.
let number = 0.1234;
console.log(number.toFixed(6)) // '0.123000' 출력
: 단, 문자열로 반환하기 때문에 계산할 때 사용하려면 Number를 이용해 형변환해야 합니다.
let number = 0.1234;
console.log(Number(number.toFixed(3))) // 숫자 0.123 출력
console.log(+number.toFixed(3)) // 앞에 + 기호를 붙이면 자동 형변환 됨. 동일한 숫자 0.123
toString
: 파라미터로 전달하는 숫자의 진법으로 숫자를 변환해주는 메소드도 있습니다. 2진수, 16진수 등 다른 진수의 값을 확인하고 싶을 때 사용할 수 있습니다.
let number = 123;
console.log(number.toString(2)) // '1111011'
console.log(number.toString(16)) // '7b'
: toFixed와 마찬가지로 문자열로 반환되니 숫자로 활용하려면 형변환해야 합니다.
let number = 123;
console.log(Number(number.toString(2))) // 1111011
console.log(+number.toString(16)) // 7b
: toString은 특이하게 배열에서는 해당 배열의 모든 값을 하나의 문자열로 반환하는 메소드입니다.
같은 이름이지만 기능이 다른 메소드입니다.
const arr = [1, 2, 'a', 'b'];
console.log(arr.toString()); // "1,2,a,b"
: 만약 숫자값에 직접 .toString을 사용하면 .을 통한 메소드 사용인지 아니면 소수점의 .인지 구별할 수 없기 때문에 에러가 발생합니다. 이때는 .을 두번 .. 으로 입력해서 사용할 수 있습니다.
console.log(123..toString(2)) // '1111011'
console.log(123..toString(16)) // '7b'
Math 메소드
: Math 메소드는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체입니다. MDN에 따르면 브라우저에 따라 Math 메소드의 결과가 다를 수 있으며, 서로 같은 JS 엔진이라도 운영체제나 아키텍쳐에 따라서 불일치하는 값을 반환할 수 있다고 합니다. 부동 소수점 오차 로 발생하는 문제라 생각되니 실수형 자료를 계산할 때 참고해야겠습니다.
Math.random
: 0부터 1.0 사이의 랜덤한 숫자를 반환합니다. 자바스크립트는 부동소수점 최대 자리수 16자리 까지 값을 랜덤으로 반환합니다. 앞서 배웠던 메소드나 아래 메소드 들을 통해서 정수형태로 바꿔서 주로 사용하게 됩니다.
Math.random(); // 0부터 1.0 사이의 랜덤한 숫자 ex.) 0.481924122144366
Math.abs
: 파라미터의 값이 절댓값으로 리턴됩니다. 보통 정수, 음수의 구분 없이 절대값이 필요할 때 주로 사용하게 됩니다.
let num1 = -20;
let num2 = 20;
Math.abs(num1) === num2; // true
Math.pow
: 거듭제곱을 하는 메소드로 자바스크립트는 3가지 방법으로 거듭제곱 할 수 있는데 그중에 메소드를 이용하는 방법입니다. x의 y승의 방식으로 사용합니다.
let num = 2;
Math.pow(num, 2); // 4
그 외 메소드 없이 거듭제곱하는 방법
1. x * x // 반복해서 곱한다.
2. x ** y // x 의 y 승으로 계산한다.
Math.sqrt
: 제곱하는 것과 반대로 제곱근을 구하는 메소드입니다.
console.log(Math.sqrt(9)) // 3
console.log(Math.sqrt(16)) // 4
Math.round
: 가장 가까운 정수로 반올림 하는 메소드입니다.
console.log(Math.round(2.3)) // 2
console.log(Math.round(2.419126872)) // 2
console.log(Math.round(2.6)) // 3
Math.floor
: 소수를 버리고 정수만 반환하는 메소드입니다.
console.log(Math.round(2.3)) // 2
console.log(Math.round(2.419126872)) // 2
console.log(Math.round(2.6)) // 2
정리
- toFixed // 소수점 자릿수 고정
- toString // 진법 표현
- Math 메소드(random, abs, pow, sqrt, round, floor)
참고
'프론트엔드(Front-end) > JavaScript' 카테고리의 다른 글
JavaScript Rest Parameter(나머지 매개변수) 와 Spread syntax(전개 연산자) (0) | 2021.01.10 |
---|---|
JavaScript 원시타입 & 참조타입(Primitive & Reference) (0) | 2021.01.10 |
for ... of / for ... in (0) | 2021.01.03 |
Git이란? (0) | 2021.01.03 |
Command Line (0) | 2021.01.03 |