>웹 프론트엔드 >JS 튜토리얼 >필요한 경우에만 JavaScript에서 숫자를 소수점 이하 두 자리로 반올림하는 방법은 무엇입니까?

필요한 경우에만 JavaScript에서 숫자를 소수점 이하 두 자리로 반올림하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-28 00:21:09617검색

How to Round Numbers to Two Decimal Places in JavaScript Only When Necessary?

필요할 때 숫자를 소수점 이하 두 자리까지 반올림하려는 경우

필요할 때만 소수점 두 자리까지 숫자를 반올림하려는 경우 , JavaScript의 두 가지 효과적인 방법은 다음과 같습니다.

1. Math.round() 사용:

Math.round(num * 100) / 100

이 메서드는 숫자에 100을 곱하여 소수점을 오른쪽으로 두 자리 이동하고 Math.round()를 사용하여 결과를 반올림한 다음 나눕니다. 100씩 소수점을 원래 위치로 되돌립니다.

2. 정밀도를 위해 Number.EPSILON 사용:

Math.round((num + Number.EPSILON) * 100) / 100

이 방법은 특히 부동 소수점 정밀도 문제로 인해 이전 방법으로 잘못 반올림될 수 있는 1.005와 같은 숫자의 경우 더욱 정확합니다. 곱셈과 반올림 전에 작은 숫자(Number.EPSILON)를 추가하여 반올림 오류가 발생하지 않도록 합니다.

사용 예:

const numbers = [10, 1.7777777, 9.1];
const roundedNumbers = numbers.map(num => {
  return num === Math.floor(num)
    ? num
    : Math.round(num * 100) / 100;
});

console.log(roundedNumbers); // Output: [10, 1.78, 9.1]

이 예에서는 숫자는 소수 부분이 있는 경우에만 소수점 이하 두 자리로 반올림됩니다. 10은 이미 정수이므로 변경되지 않습니다.

위 내용은 필요한 경우에만 JavaScript에서 숫자를 소수점 이하 두 자리로 반올림하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.