본문 바로가기
언어/Java Script

[IT]자바스크립트 - 숫자 (부동소수점 )

by 저여저 2024. 2. 22.

ㅇ 부동소수점 

ㅡ 실수에서 부동소수점이 발생할때 미세한 오차가 발생할 수 잇다.

 

ㅇ오차 발생시에 해결방법

 

1. toFixed(num)메서드

ㅡ num의 자리수까지 반올림해서 String 으로 반환

ㅡ toFixed(1) == 소수점 1자리까지 출력해줘! 

2. Math.round()

ㅡ 반올림 해주는 함수

3. 기타 라이브러리

ㅡ Big.js , BigNumber.js, Decimal.js

 

ㅇ예제 >> 결과값 0.3 으로 출력 하기

    let d = 0.2;
      let y = 0.1;
      let rtn2 = d + y;
      document.write("합은" + rtn2.toFixed(1) + "<br>");
      document.write(typeof rtn2 + "<br>");
      console.log(rtn);

 

 

< 숫자 리터럴 >

ㅇ 상수  constant : 코드에서 변하지 않는 변수

ㅇ 리터럴 literal : 코드에서 변하지 않는 데이터 ( 숫자리터럴, 객체리터럴, 문자리터럴)

const myAage = 20; // myAge는 상수 , 20 리터럴이다 .

 

ㅇ숫자 리터럴 종류

1) 정수 리터럴 : 10진수(0~9) 또는 16진수 ( 0~9 ,10~15, A~F)

2)부동소수점 : 실수 표기 / 지수 표시 (2e2승)

    <script>
      //   let x = 0xff;
      //   let y = 0xee;
      let x = 1;
      let y = 2;
      let rtn = x + y;
      document.write("합은?" + rtn + "<br>");
      document.write("타입은?" + typeof rtn);
    </script>

 

ㅇ 숫자 변환방법

1.. Number ( 문자열 or 불리언 )

2. + (문자열 or 불리언)

3. parselnt (정수 문자열)

4. parseFloat (실수 문자열)

 

ㅇ 숫자안에 < infinity > 무한대가 있음.

ㅡ 숫자타입 , 컴퓨터가 처리 가능한 가장 큰 수

ㅡ 64비트 공간 넘치는 경우이다. 무한대는 false값

ㅡ 유한대는 64 비트 이내의 공간/ true값임

ㅡ 예외처리를 하기 위해서는 무한인지 유한인지 확인해야함. isfinity 처리 ?

 

ㅇ <BigInt> 란 ??

ㅡ Number 의 최대값 보다 큰 정수를 포현한다.

ㅡ Bigint데이터 타입이다.

ㅡ 사용불가 는 ? Math객체의 메서드와 함께 사용불가, 연산에서 Number타입과 함께 사용불가하다.

ㅡ 사용방법  5가지 : n;  ,  BigInt( ); , BigInt(""); , BigInt("0x1fffff"); , BigInt("0b111111111111");

ㅡ 빅인트로 변환해서 사용한다 . 빅인트 타입 끼리 연산 가능하다.

 

ㅡ === 값과 데이터가 같을 때 true  /  == 값이 같을때 true

 

< 정수 > 

ㅇ Number.isInteger(value)_

ㅡ위의 메서드는 주어진 값이 정수인지 판별한다. 

ㅡvalue매개변수가 정수인지 판별함 .

ㅡ 반환 값이 true 와 false가 있다. false = 문자, 실수 등등

 

 

ㅇNumber.parselnt(num)

ㅡ정수로 변환하는 함수이다. 매개변수 값 num은 정수로 변활할 값임

ㅡ반환 값은 변환된 값이다. 반환타입은 Number

ㅡ소수점 이하는 버린다.

ㅇNumber.parselnt(val)