Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 숫자의 소수점 이하 자릿수 구하는 방법

이번 글에서는 정수 또는 실수(부동소수점 숫자)를 입력받아 처리하는 JavaScript 함수를 작성해 보겠습니다.

요구 사항은 다음과 같습니다.

  • 입력값이 실수라면 소수점 이하 자릿수의 개수를 반환합니다.
  • 입력값이 정수라면 0을 반환합니다.

구현 아이디어

가장 간단하고 직관적인 방법은 숫자를 문자열로 변환한 뒤, 소수점(.)이 포함되어 있는지 확인하는 것입니다. 소수점이 있다면 소수점을 기준으로 문자열을 나누고, 소수 부분의 길이를 측정하면 됩니다.

예제 코드

const num1 = 1.123456789;
const num2 = 123456789;

const decimalCount = num => {
  // 숫자를 문자열로 변환
  const numStr = String(num);
  
  // 문자열에 소수점이 포함된 경우
  if (numStr.includes('.')) {
    return numStr.split('.')[1].length;
  }
  
  // 소수점이 없는 경우 (정수)
  return 0;
}

console.log(decimalCount(num1)); // 9
console.log(decimalCount(num2)); // 0

실행 결과

위 코드를 실행하면 콘솔에 다음과 같이 출력됩니다.

9
0

코드 설명

String(num)을 통해 숫자를 문자열로 변환한 후, includes('.') 메서드로 소수점 포함 여부를 검사합니다. 소수점이 존재하면 split('.')[1]로 소수 부분만 추출하여 그 길이를 반환하고, 존재하지 않으면 정수이므로 0을 반환합니다.

이 방식은 별도의 수학적 계산 없이 문자열 연산만으로 해결할 수 있어 코드가 짧고 이해하기 쉽다는 장점이 있습니다.