2.3.1 숫자 구문

jude·2022년 1월 29일
0

you don't know js

목록 보기
9/30
post-thumbnail
// 숫자는 10진수 리터럴로 표시
var a = 42;
var b = 42.3;

// 소수점 앞 정수가 0이면 생략 가능
var a = 0.42;
var b = .42;

// 소수점 뒤 정수가 0이어도 생략 가능하지만 비권장
var a = 42.0;
var b = 42.;

// 소수점 이하 0은 제거됨
var a = 42.300;
var b = 42.0;
a; // 42.3
b; // 42

// 큰 숫자는 지수형으로 표시하며, toExponential() 메서드의 결괏값과 같다.
var a = 5E10;
a; // 50000000000;
a.toExponential(); // 5e+10

var b = a * a;
b; // 2.5e+21

var c = 1 / a;
c; // 2e-11

Number 타입의 메서드인 toFixed()

  • 인수로 지정한 수만큼 소수점 이하 자릿수까지 숫자를 나타낸다.
  • 반환 시 반올림하므로 주의.
  • 반환 시 문자열로 반환.
var a = 42.59;

a.toFixed(0); // '43'
a.toFixed(1); // '42.6'
a.toFixed(2); // '42.59'
a.toFixed(3); // '42.590'
a.toFixed(4); // '42.5900'

toPrecision()
toPrecision()도 비슷하지만 전체 숫자의 갯수를 지정할 수 있다.

var a = 42.59;

a.toPrecision(1); // '4e+1'
a.toPrecision(2); // '43'
a.toPrecision(3); // '42.6'
a.toPrecision(4); // '42.59'
a.toPrecision(5); // '42.590'
a.toPrecision(6); // '42.5900'

두 메서드는 숫자형 리터럴에 바로 연결해서 사용 가능하지만 권장하진 않는다.

// 잘못된 구문
42.toFixed( 3 ); // SyntaxError => 42.0toFixed( 3 )과 같다.

// 모두 올바른 구문
(42).toFixed( 3 ); // 42.000
0.42.toFixed( 3 ); // 0.420
42..toFixed( 3 ); // 42.000
profile
UI 화면 만드는걸 좋아하는 UI개발자입니다. 프론트엔드 개발 공부 중입니다. 공부한 부분을 블로그로 간략히 정리하는 편입니다.

0개의 댓글