JavaScript에서 소수점 2 자리로 반올림

Harshit Jindal 2023년10월12일
  1. .toFixed()메서드를 사용하여 JavaScript에서 소수점 2 자리로 반올림
  2. Math.round()함수를 사용하여 JavaScript에서 소수점 2 자리로 반올림
  3. 이중 반올림을 사용하여 JavaScript에서 소수점 2 자리로 반올림
  4. 사용자 정의 함수를 사용하여 JavaScript에서 소수점 2 자리로 반올림
JavaScript에서 소수점 2 자리로 반올림

이 튜토리얼에서는 JavaScript에서 소수점 2 자리로 반올림하는 방법을 소개합니다.

.toFixed()메서드를 사용하여 JavaScript에서 소수점 2 자리로 반올림

숫자에.toFixed()메소드를 적용하고 소수점 이하 자릿수를 인수로 전달합니다.

var numb = 12312214.124124124;
numb = numb.toFixed(2);

이 방법은 경우에 따라 정확한 결과를 얻지 못하며 이보다 더 나은 방법이 있습니다. 숫자가1.2이면1.20이 표시됩니다. 2.005와 같은 숫자가 주어지면2.01대신2.000이 반환됩니다.

Math.round()함수를 사용하여 JavaScript에서 소수점 2 자리로 반올림

숫자의 정확한 반올림을 보장하기 위해 숫자를 가져와Number.EPSILON이라는 아주 작은 숫자를 추가합니다. 그런 다음 소수점 이하 두 자리 만 추출하기 위해 반올림하기 전에100을 숫자로 곱합니다. 마지막으로 소수점 이하 두 자리까지 구하기 위해 숫자를 100으로 나눕니다.

var numb = 212421434.533423131231;
var rounded = Math.round((numb + Number.EPSILON) * 100) / 100;
console.log(rounded);

출력:

212421434.53

이 메서드는.toFixed()보다 향상되었지만 여전히 최상의 솔루션은 아니며1.005를 올바르게 반올림하지 않습니다.

이중 반올림을 사용하여 JavaScript에서 소수점 2 자리로 반올림

이 메서드에서는.toPrecision()메서드를 사용하여 단일 반올림의 중간 계산 중에 발생하는 부동 소수점 반올림 오류를 제거합니다.

function round(num) {
  var m = Number((Math.abs(num) * 100).toPrecision(15));
  return Math.round(m) / 100 * Math.sign(num);
}

console.log(round(1.005));

출력:

1.01

사용자 정의 함수를 사용하여 JavaScript에서 소수점 2 자리로 반올림

function roundToTwo(num) {
  return +(Math.round(num + 'e+2') + 'e-2');
}
console.log(roundToTwo(2.005));

이 사용자 정의 함수는 모든 코너 케이스를 처리하며1.005와 같은 소수 반올림이이 함수에 의해 잘 처리됩니다.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

관련 문장 - JavaScript Number