키 포인트
Math.round
및 Math.floor
방법을 제공합니다. 이 방법은 둥근 번호를 문자열로 반환합니다. Math.ceil
Math.trunc
의 동작이 다릅니다. 예를 들어, Math.round
는 음수를 다음으로 가장 작은 정수로 반올림하는 반면 Math.floor
는 분수 부분을 잘라내어 효과적으로 위쪽으로 반올림합니다. Math.ceil
숫자의 이진 표현으로 인해 JavaScript에서 정밀 문제가 발생할 수 있습니다. 일부 소수점 숫자는 이진에서 정확하게 표현할 수 없으므로 반올림 오류가 발생합니다. Math.trunc
방법은 가장 가까운 32 비트의 가장 가까운 수를 찾는 데 사용될 수 있습니다. Number.toFixed
또는 Number.toPrecision
는 항상 둥글거나 위로 또는 마이너스 숫자를 처리하는 데 더 적합 할 수 있습니다. 또는 Math.round
Math.floor
Math.trunc
객체의 속성이지만, 처리하기가 더 쉬워서 일부 변수에 할당합시다.
Math.floor
Math.trunc
Pro 팁 : 객체 파괴를 사용 하여이 과제를 한 줄로 만들 수도 있습니다.
Math.round
이 방법을 사용하려면 매개 변수로 반올림 할 숫자를 제공하면됩니다.
가 매우 편리합니다. 예를 들어, 평균 3 번의 테스트 점수를 계산하는 경우 3 점을 추가하고 3 점으로 나눕니다. 이것은 정수가 발생하지 않을 수 있으므로 Math.round
:
<code class="language-javascript">const PI = Math.PI; const E = Math.E;</code>.
Math.round()
의 일반적인 사용은 임의의 정수를 만드는 것입니다. 반올림하면 정수가 0에서 시작되고 각 정수가 반품 될 가능성이 동일합니다. JavaScript의 배열이 0 인덱스이기 때문에 0에서 시작하여 유용하므로 반올림하면 배열의 첫 번째 요소를 선택할 수 있습니다. 다음 예제는 Math.round()
를 사용하여 배열에서 임의의 요소를 선택하는 방법을 보여줍니다.
<code class="language-javascript">const { PI, E } = Math;</code>반올림을 사용하여 0과 4 사이의 인덱스가 반환되도록하므로 배열의 각 요소는 동일한 기회를 선택할 가능성이 동일합니다.
Math.floor
가하는 일입니다. 이 이름은 "바닥"과 달리 "천장"에서 유래 한 것으로 값이 상승하고 있음을 의미합니다. 이 방법은 다른 모든 방법과 같은 방식으로 작동합니다. 반올림하려는 번호를 매개 변수로 제공합니다.
Math.floor
를 사용하면
<code class="language-javascript">Math.round(2.3); // 因为更接近2,所以向下舍入 Math.round(2.921); // 因为更接近3,所以向上舍入 Math.round(2.5); // 因为正好位于中间,所以向上舍入 Math.round(PI); Math.round(E);</code>
입니다. 엄격하게 말하면, 이것은 반올림 함수가 아닙니다. 기본적으로 숫자의 소수 부분을 삭제하면 다음 예제와 같이 정수 부분 만 남습니다.
<code class="language-javascript">const PI = Math.PI; const E = Math.E;</code>
는 물론 Math.trunc
와 동일합니다. 그러나 음수 값이 매개 변수로 제공되면 다음 예에서 볼 수 있듯이 두 가지 메소드는 다르게 행동합니다.
Math.floor
차이는
<code class="language-javascript">const { PI, E } = Math;</code>
는 : 와 동일한 값을 반환합니다.
Math.floor
가 숫자를 가장 가까운 정수로 반올림하는 것을 보았습니다. 불행히도, 객체는보다 정확한 정확도로 숫자를 특정 소수점으로 둥글게하는 방법을 제공하지 않습니다. 다행히도 유형에는 몇 가지 내장 방법이 있습니다. 그들을 보자. Math.ceil
Math.trunc
<code class="language-javascript">Math.round(2.3); // 因为更接近2,所以向下舍入 Math.round(2.921); // 因为更接近3,所以向上舍入 Math.round(2.5); // 因为正好位于中间,所以向上舍入 Math.round(PI); Math.round(E);</code>주목할만한 점은이 값이
문자열
로 반환된다는 것입니다. 메소드 호출을
Math.round
Math
Number
Number.toFixed
참고 :
Number.toPrecision
를 사용하여 메소드와 유사하게 작동하지만 숫자를 고정 된 수의 상당수로 반올림합니다. Number.toPrecision
유효한 숫자를 빠르게 상기시켜야하는 경우 기본적으로 첫 번째 0이 아닌 숫자 만 사용하는 것을 의미합니다. 많은 숫자의 경우 최종 답변은 0으로 채워질 것입니다. 예를 들어, 두 개의 중요한 숫자로 반올림 된 숫자 53,863은 54,000이됩니다. 5와 3이 0이 아닌 첫 두 숫자이기 때문에 다음 숫자는 8이므로 위쪽으로 반올림하기 때문입니다. 둥근 값이 원래 숫자의 합리적인 근사치인지 확인하기 위해 마지막에 0을 추가해야합니다. Number.toFixed
.
앞에서 언급했듯이 함수로 메소드 호출을 래핑하여 숫자를 반환 할 수 있습니다.
<code class="language-javascript">const PI = Math.PI; const E = Math.E;</code>이 작업의 문제 중 하나는 일부 소수점 숫자가 이진에서 정확하게 표현할 수 없다는 것입니다. 이것은 일반적으로 문제를 일으키지 않지만 다음과 같은 이상한 결과로 이어집니다.
이것은 이진에서 0.1과 0.2를 정확하게 표현할 수없고 함께 추가 할 때 약간의 오류를 생성 할 수 없기 때문입니다.
객체에는 Number
라는 또 다른 메소드가 있으며,이 방법은 32 비트를 사용하여 표현할 수있는 가장 가까운 숫자를 반환합니다. 예를 들어, 0.6125는 이진 0.101로 정확하게 표현 될 수 있으므로 동일한 값을 반환합니다.
<code class="language-javascript">const PI = Math.PI; const E = Math.E;</code>
는 약간 더 높습니다. 대부분의 경우에 이것은 문제를 일으키지 않지만, 숫자를 반올림하려고 할 때 때때로 이상한 행동을 일으 킵니다.
<code class="language-javascript">const { PI, E } = Math;</code>보시다시피, 실제로는 부동 소수점 번호 3.54999952316284로 표시되며 3.5로 줄어 듭니다.
Math.fround
라운드 숫자에 어떤 방법을 사용해야합니까?
<code class="language-javascript">Math.round(2.3); // 因为更接近2,所以向下舍入 Math.round(2.921); // 因为更接近3,所以向上舍入 Math.round(2.5); // 因为正好位于中间,所以向上舍入 Math.round(PI); Math.round(E);</code>
를 사용하는 것을 고려하십시오.
또는 를 사용해야합니다. 그러나 두 방법 모두 숫자로 호출되고 문자열을 반환합니다.
Math.floor
Math.ceil
JavaScript의 반올림 번호에 대한 FAQ
Math.trunc
는 3을 얻고
Number.toFixed
, Number.toPrecision
와 의 차이점은 무엇입니까?
위 내용은 JavaScript의 반올림 번호에 대한 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!