如何在JavaScript中四舍五入为整数?


92

我有以下代码来计算一定百分比:

var x = 6.5;
var total;

total = x/15*100;

// Result  43.3333333333

因此,我想要的是确切的数字43,如果总数是43.5四舍五入到44

有没有办法用JavaScript做到这一点?

Answers:


167

使用该Math.round()函数将结果四舍五入到最接近的整数。


也帮了我!:)感谢MDN链接伙伴:)
Afzaal Ahmad Zeeshan 2013年

1
链接的功劳归@Jeremy。感谢您插入它-这样一来,我写的第五个答案就可以像这个一样多地投票,这使我从开始做起变得更加有趣。:-)
hmakholm在Monica

2
OP不想向上舍入吗?如果是这样,那么Math.ceil()可能会更合适
martellalex

1
@martellalex:从问题的任择议定书想43.333至轮43,但43.5至轮44,这正是四舍五入到最接近的ECMAScript中的Math.round()的行为相匹配,并朝正无穷大运行精确半整数。
hmakholm在“莫妮卡”

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();

一个或多个组合即可解决您的问题



8

用于Math.round将数字四舍五入到最接近的整数:

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

4

舍入浮点数x的非常简洁的解决方案:

x = 0|x+0.5

或者,如果您只是想让自己的浮标落地

x = 0|x

这是按位或int 0,将所有值都放在小数点后

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.