ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 묵혔다가 꺼낸 JS - 숫자
    JS 2021. 9. 1. 20:12

    자바스크립트의 숫자와 Number 타입에 관해

    JS에서 숫자는 정수, 부동소수점 숫자로 이루어져 있고, 타입은 number타입만이 존재한다.

    자바스크립트는 흔히들 많이 배우는 C, JAVA와는 다르게 소수점이 붙은 실수값이 정수와 같다는 결과를 아래와같은 경우에는 도출해낸다.  

     

     

    위와같은 이유로 자바스크립트는 따로 double, float과같은 실수형 타입이 없고 number라는 타입만을 사용한다.

     

    리터럴의 표현 방법

    리터럴 숫자의 표현에서 자바스크립트는 다음과같은 표현이 가능하다.

     

     

    세가지 표현 모두 사용 가능하다. 하지만 실수를 사용하지 않는 정수만 사용하는 이상 25로 표현함이 당연히 권장된다.

    (보기에도 깔끔함이 당연!)

     

    주의할 점은 그럴 일은 없겠지만 (그렇게 해서도 안 되지만)리터럴에서 바로 메소드를 접근하면 오류가 발생 할 확률은 100%다.

     

     

     

    지수표현

    다른언어들과 마찬가지로 지수표현도 가능하다.

     

     

    소수점표현

    특정 소수점 이하 자리를 출력하고 싶다면 아래의 내장 메소드를 사용하면 될 것이다.

     

     

    2, 8, 16진법 표현

    접두사를 2진수는 0b 8진수는 0o, 16진수는 0x를 붙여줘 사용하면 된다.

     

     

    + 알쓸신잡 - 입실론(Number.EPSILON) 덕분이다 이말이야

    ES6 이전에는 0.1+0.2 === 0.3의 결과가 false가 되었다고 한다.

    이는 부동소수점의 특성 때문인데, 컴퓨터에서 표현하는 0.1은 0.1이 아닌 0.10000000002와같이 아주 작은 소수값을 가지고있어 이러한 현상이 초래되었다고 한다. (이는 다른 언어에서도 부동소수점을 사용하니 같은 결과를 도출한다.)

    시간이 지나 ES6에서부터는 입실론이 아주작은 소수값을 반올림 시켜 위와같은 문제가 해결되었다고한다.

    댓글

oct_sky_out