1. 소수점 변환 오류란

    1. JS에서는 소숫점 연산을 수행하면, 예상밖의 오류가 발생함

    2. 예시로 0.1 + 0.2를 수행하게 되면, 당연히 0.3이 나와야 하지만, 아래처럼 0.30000000000000004 으로 표시가 됨

      Untitled

  2. 원인

    Untitled

    1. 현실에서는 계산을 할 때 보통 10진법을 사용하지만, 컴퓨터는 2진수로 변환을 통해 연산을 수행함
    2. 위에 따라 10진수를 2진수로 변환하는 과정이 필요한데, 소수 중에서 일부는 이 과정에서 무한소수가 되버림
    3. 하지만 한계(메모리 등)가 정해져 있기 때문에 무한 소수를 모두 담지 못하고 중간에 잘라서 유한 소수로 저장해서 사용하게 되며, 이 과정에서 위와같은 오차가 발생함
  3. 해결

    1. toFixed() 메서드
      1. 입력받은 숫자의 자릿수에서 반올림을 해 String 형태로 반환이 됨
      2. 즉, 몇번째 소수점까지 나타낼 지 파라미터로 전달하는 메서드
    2. Math.round() 메서드
      1. Math 객체에 있는 메서드 중 하나(floor, ceil 등이 있음)
      2. 파라미터로 들어온 소수를 반올림핵서 반환하는 메서드로, 정수를 반환한다는 것이특징