[Javascript] 소수점 2자리까지 표시
October 20, 2023
소수를 갖고 있는 실수를 출력해야할 때, 소수점 아래의 숫자가 매우 많아서 N자리까지 표현해야하는 경우가 있습니다. 이럴 때 어떻게 구현하는지 예제와 함께 알아보겠습니다.
1. toFixed()으로 소수점 2자리까지 표시
toFixed(N)
은 숫자를 소수점 N자리까지 표시합니다. 리턴 값은 string 타입입니다.
이것을 이용하여 아래와 같이 소수점 2자리까지만 표시되도록 만들 수 있습니다.
let number = 123;
let result = number.toFixed(2);
console.log(result); // "123.00"
number = 123.456;
result = number.toFixed(2);
console.log(result); // "123.46"
Output:
123.00
123.46
123.5
소수점 N자리까지 표현하려면 toFixed(N)
으로 N자리까지 표시하도록 만들면 됩니다.
let number = 123.456;
let result = number.toFixed(1);
console.log(result);
result = number.toFixed(5);
console.log(result);
result = number.toFixed(10);
console.log(result);
Output:
let number = 123.456;
let result = number.toFixed(1);
console.log(result);
result = number.toFixed(5);
console.log(result);
result = number.toFixed(10);
console.log(result);
2. NumberFormat으로 소수점 2자리 표시
NumberFormat를 생성할 때, 인자로 최소/최대 소수점 자릿수를 설정할 수 있으며, 둘다 2로 설정하면 소수점 2자리까지만 표시할 수 있습니다.
생성된 formatter를 이용하여, formatter.format(number)
로 설정된 포맷으로 변형할 수 있습니다. 아래 예제는 소수점 2자리까지만 있는 숫자를 문자열로 리턴합니다.
const formatter = new Intl.NumberFormat(undefined, {
minimumFractionDigits: 2, // 최소 소수점 자릿수
maximumFractionDigits: 2, // 최대 소수점 자릿수
});
let number = 123.456;
let result = formatter.format(number);
console.log(result); // "123.46"
number = 123.456789;
result = formatter.format(number);
console.log(result); // "123.46"
Output:
123.46
123.46
소수점 N자리까지 표시하려면, NumberFormat의 최소, 최대 소수점 자릿수를 N으로 설정하면 됩니다. 아래 예제는 숫자를 소수점 1자리까지 표시하는 코드입니다.
const formatter = new Intl.NumberFormat(undefined, {
minimumFractionDigits: 1, // 최소 소수점 자릿수
maximumFractionDigits: 1, // 최대 소수점 자릿수
});
let number = 123.456;
let result = formatter.format(number);
console.log(result); // "123.5"
number = 123.456789;
result = formatter.format(number);
console.log(result); // "123.5"
Output:
123.5
123.5