Jak mogę zaokrąglić liczby całkowite w JavaScript?

93

Mam następujący kod, aby obliczyć określony procent:

var x = 6.5;
var total;

total = x/15*100;

// Result  43.3333333333

Chcę otrzymać dokładną liczbę 43i jeśli jest 43.5to suma , należy ją zaokrąglić do44

Czy można to zrobić w JavaScript?

idontknowhow
źródło

Odpowiedzi:

169

Użyj Math.round()funkcji, aby zaokrąglić wynik do najbliższej liczby całkowitej.

hmakholm zostawił Monikę
źródło
mi też pomogło! :) Dzięki za kumpla z linkiem do MDN :)
Afzaal Ahmad Zeeshan
1
Kredyt za link należy do @Jeremy. Dzięki za wstawienie go - rozpoczęcie od SO dużo przyjemniej było, że piąta odpowiedź, którą kiedykolwiek napisałem, otrzymała tyle głosów, co ta, co z pewnością było spowodowane linkiem. :-)
hmakholm zostawił Monikę
2
Czy OP nie chciał zaokrąglić W GÓRĘ? Jeśli tak, może Math.ceil () byłaby bardziej odpowiednia
martellalex,
1
@martellalex: Z pytania wynika, że ​​OP chciał zaokrąglić 43,333 do 43, a 43,5 do 44, co dokładnie odpowiada zachowaniu Math.round () modułu ECMAScript polegającego na zaokrąglaniu do najbliższej i wykonywaniu dokładnych pół liczb całkowitych w kierunku dodatniej nieskończoności.
hmakholm zostawił Monikę
66
//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();

jedno lub połączenie rozwiąże Twoje pytanie

Kaczor
źródło
11
total = Math.round(total);

Powinienem to zrobić.

Phil
źródło
8

Użyj, Math.roundaby zaokrąglić liczbę do najbliższej liczby całkowitej:

total = Math.round(x/15*100);
Gumbo
źródło
4

bardzo zwięzłe rozwiązanie do zaokrąglania liczby zmiennoprzecinkowej x:

x = 0|x+0.5

lub jeśli chcesz po prostu wyłożyć podłogę na podłogę

x = 0|x

jest to bitowe lub z wartością int 0, która usuwa wszystkie wartości po przecinku

Karo Castro-Wunsch
źródło