JavaScript에서 정수로 반올림하려면 어떻게해야합니까?


92

특정 비율을 계산하는 다음 코드가 있습니다.

var x = 6.5;
var total;

total = x/15*100;

// Result  43.3333333333

결과적으로 원하는 것은 정확한 숫자 43이며 합계가 43.5다음으로 반올림되어야합니다.44

JavaScript에서 이것을 수행하는 방법이 있습니까?

답변:


167

Math.round()함수를 사용하여 결과를 가장 가까운 정수로 반올림하십시오.


저도 도왔습니다! :)이 MDN 링크 친구에 대한 :) 감사합니다
Afzaal 아마드 Zeeshan

1
링크에 대한 크레딧은 @Jeremy로 이동합니다. 삽입 해주셔서 감사합니다. 제가 쓴 다섯 번째 답변이이 답변만큼 많은 표를 얻도록하는 것이 훨씬 더 재미있었습니다. 이는 분명히 링크 때문이었습니다. :-)
hmakholm이 Monica를 떠났습니다.

2
OP가 반올림하고 싶지 않았습니까? 그렇다면 어쩌면 Math.ceil ()이 더 적합 할 것
martellalex

1
@martellalex : 질문에서 OP는 43.333을 43으로 반올림했지만 43.5는 44로 반올림하기를 원했습니다. 이는 ECMAScript의 Math.round ()의 가장 가까운 반올림 동작 정확히 일치하는 반정 수를 양의 무한대로 실행합니다.
hmakholm은 Monica에게

65
//method 1
Math.ceil(); // rounds up
Math.floor(); // rounds down
Math.round(); // does method 2 in 1 call

//method 2
var number = 1.5; //float
var a = parseInt(number); // to int
number -= a; // get numbers on right of decimal

if(number < 0.5) // if less than round down
    round_down();
else // round up if more than
    round_up();

하나 또는 조합으로 질문을 해결할 수 있습니다.


10
total = Math.round(total);

해야합니다.


8

Math.round숫자를 가장 가까운 정수로 반올림하는 데 사용 합니다.

total = Math.round(x/15*100);

4

float x를 반올림하는 매우 간결한 솔루션 :

x = 0|x+0.5

또는 플로트를 바닥에 깔고 싶다면

x = 0|x

이것은 비트 단위이거나 int 0이며 소수점 이하 모든 값을 삭제합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.