Як я можу округлити до цілих чисел у JavaScript?


92

У мене є такий код для обчислення певного відсотка:

var x = 6.5;
var total;

total = x/15*100;

// Result  43.3333333333

У результаті я хочу отримати точну кількість, 43і якщо загальна сума, 43.5її слід округлити до44

Чи є спосіб зробити це в JavaScript?

Відповіді:


167

Використовуйте Math.round()функцію для округлення результату до найближчого цілого числа.


мені теж допомогло! :) Спасибі за посилання MDN
приятелю

1
Заслугу за посилання належить @Jeremy. Дякую за вставку - це зробило починаючи з SO набагато цікавішим, коли п’ята відповідь, яку я коли-небудь писав, отримує стільки голосів, скільки отримала ця, що, безумовно, було пов’язано із посиланням. :-)
hmakholm залишив Моніку

2
Хіба ОП не хотів округлити ВГОРУ? Якщо так, можливо, Math.ceil () буде більш доречним
martellalex

1
@martellalex: З питання, OP хотів 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 = 0|x+0.5

або якщо ви просто хочете покрити поплавок

x = 0|x

це побітове або з int 0, яке опускає всі значення після десяткової

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.