[JavaScript] 자바스크립트 소수점 만들기, 소수점 절대값
자바스크립트에서 소수점 만드는 방법은 크게 어렵지 않다. 간단하게 소수점을 나타내는 방법과 소수점을 나타낼 때, 소수점자리 반올림을 하지 않고 값을 계산하는 방법을 알아보자. 더 자세한 내용이 궁금하면 해당 링크에 접속하여 읽어보자.
소수점 나타내는 toFixed 함수
toFixed 함수를 사용하면 손쉽게 소수점을 만들 수 있다. 여기서 중요한 점은 toFixed 함수는 문자열에 사용하는 것이 아닌 숫자에 사용하여야 한다. String.prototype이 아닌 Number.prototype에 있다. 그리고 반환 값은 Number가 아닌 String 타입이다.
사용하는 방법은 매우 간단하다. 숫자.toFixed(원하는 소수점 자리) 와 같이 작성하면 된다. 아래 예시를 참고해보자.
const number = 12345.6789;
console.log(number.toFixed()); // “12346” 소수점 1의 자리에서 반올림
console.log(number.toFixed(2)); // “12345.68” 소수점 3의 자리에서 반올림
console.log(number.toFixed(6)); // “12345.678900” 빈 공간은 0으로 채워짐
반올림 없는 소수점 표현하기
위 toFixed 함수를 사용하게 되면 마지막 소수점 자리에서 반올림을 하게 된다. 사용자는 반올림 없이 소수점만 표시하기를 원할 수도 있다. 아래 간단한 함수를 만들었다. (틀린 예시가 나올 수도 있음)
위 함수는 인자 1번에 원하는 숫자를 string, number 자료형 상관 없이 넣어주면 되고, 2번째 인자에는 나타내고 싶은 소수점 자리를 넣으면 반올림 없이 딱 해당 자리에 끊어서 보여준다.
const getNotRoundDecimalNumber = (number, decimalPoint = 2) => {
let num = typeof number === "number" ? String(number) : number;
const pointPos = num.indexOf(".");
if (pointPos === -1) return Number(num).toFixed(decimalPoint);
const splitNumber = num.split(".");
const rightNum = splitNumber[1].substring(0, decimalPoint);
return Number(`${splitNumber[0]}.${rightNum}`).toFixed(decimalPoint);
};
console.log(getNotRoundDecimalNumber(100.0127, 3)); // 100.012
console.log(getNotRoundDecimalNumber(100.0127, 6)); // 100.012700
console.log(getNotRoundDecimalNumber(100, 6)); // 100.000000
console.log(getNotRoundDecimalNumber(100)); // 100.00
결론
JavaScript 소수점 구하는 방법을 알아보았다. 반올림 없는 소수점 표현하기는 틀린 부분이 있을 수도 있으니 참고만 하자.
마지막
해당 내용은 틀릴 수도 있다는 것을 감안하여 봐주세요. 틀린 내용 및 오탈자 수정 요청 환영입니다.
반응형
'공유 > JavaScript, TypeScript' 카테고리의 다른 글
[JavaScript] 문자열 안에 있는 특정 문자 개수 세기 (2) | 2021.08.29 |
---|---|
[JavaScript] FormData 데이터 Json 데이터로 변경하기, Json 데이터 FormData 데이터로 변경하기 (0) | 2021.08.25 |
[JavaScript] 문자 비교하기, 베트남어 비교하기, 정규화 (0) | 2021.06.04 |
[JavaScript] !, !! 연산자 (0) | 2021.03.18 |
[JavaScript] replaceAll 사용하는 방법 (0) | 2021.02.19 |