Як я можу округлити до цілих чисел у 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.