이번 포스팅에서는 JavaScript에서 소수점 반올림하는 방법들을 소개합니다.
toFixed() 함수
toFixed()
함수는 인수로 전달된 소수 자릿수로 반올림된 숫자를 문자열 타입으로 반환합니다.
다음은 toFixed()
함수 사용 예제입니다.
(123.678).toFixed();
// 124
(123.678).toFixed(1);
// 123.7
(123.678).toFixed(2);
// 123.68
(123.678).toFixed(3);
// 123.678
(123.678).toFixed(4);
// 123.6780
typeof (123.678).toFixed(4);
// string
toFixed()
함수의 반환 결과를 숫자로 변환하기 위해 다음과 같이 Number()
함수를 사용할 수 있습니다.
const roundNum = ((123.678).toFixed(1));
console.log(roundNum);
// 123.7
Math.round() 함수
Math.round()
함수는 인수로 전달된 값을 가장 가까운 정수로 반올림된 숫자를 반환합니다.
다음은 Math.round()
함수 사용 예제입니다.
Math.round(123.456);
// 123
Math.round(123.678);
// 124
Math.round(123.9191);
// 124
Math.round()
함수로 정수가 아닌 소수 자릿수로 반올림하고 싶은 경우 다음과 같이 작성합니다.
const num = 6.789;
const roundNum = Math.round(num * 10) / 10;
console.log(roundNum);
// 6.8
소수점 1자리로 반올림하려면 num * 10
을 Math.round()
함수의 인수로 전달합니다. 그리고 Math.round()
함수의 반환 결과를 10으로 나눕니다.
소수점 2자리로 반올림하려면 100을 곱하고 100을 나누며, 소수점 3자리로 반올림하려면 1000을 곱하고 1000을 나눕니다.
하지만, 위 방법은 항상 정확한 결과를 반환하지 않는다는 문제가 있습니다.
1.255를 소수점 2자리로 반올림하면 1.26인데, Math.round()
함수는 잘못된 결과를 반환합니다.
const num = 1.255;
const roundNum = Math.round(num * 100) / 100;
console.log(roundNum);
// 1.25
기본적으로 부동 소수점은 10진법보다 숫자의 정밀도가 떨어지기 때문에 Math.round()
함수로 정확하게 결괏값을 얻을 수 없습니다.
Math.floor() 함수
Math.floor()
함수는 인수로 전달된 값을 가장 가까운 정수로 내림된 숫자를 반환합니다.
다음은 Math.floor()
함수 사용 예제입니다.
Math.floor(123.456);
// 123
Math.floor(123.678);
// 123
Math.floor(123.9191);
// 123
Math.ceil() 함수
Math.ceil()
함수는 가장 가까운 정수로 올림 된 숫자를 반환합니다.
Math.round()
함수와는 다르게 Math.ceil()
함수는 무조건 올림 처리합니다.
다음은 Math.ceil()
함수 사용 예제입니다.
Math.ceil(123.456);
// 124
Math.ceil(123.678);
// 124
Math.ceil(123.9191);
// 124
toPrecision() 함수
toPrecision()
함수는 인수로 전달된 값만큼 표현할 수의 길이를 제한하며, 숫자를 문자열 타입으로 반환합니다.
다음은 toPrecision()
함수 사용 예제입니다.
// 인수를 생략하면 값 그대로 반환
(123.6712).toPrecision();
// 123.6712
// 2자리까지 표현함.
(123.6712).toPrecision(2);
// 1.2e+2
// 3자리까지 표현하며 소수점 1자리에서 반올림됨.
(123.6712).toPrecision(3);
// 124
// 4자리까지 표현하며 소수점 2자리에서 반올림됨.
(123.6712).toPrecision(4);
// 123.7
// 5자리까지 표현하며 소수점 3자리에서 반올림됨.
(123.6712).toPrecision(5);
// 123.67
typeof (123.6712).toPrecision(4);
// string
'JavaScript > JavaScript 문법' 카테고리의 다른 글
[JavaScript]exceljs 사용방법 및 엑셀 다운로드(내보내기) (0) | 2022.01.25 |
---|---|
[JavaScript]객체 배열 정렬하는 방법 (0) | 2022.01.03 |
[JavaScript]객체를 배열로 변환하는 방법 (0) | 2021.12.24 |
[JavaScript]물음표 사용 방법, Null 병합 연산자, 옵셔널 체이닝 (0) | 2021.12.22 |
[JavaScript]문자열을 숫자로 변환 (0) | 2021.12.22 |
댓글