web-dev-qa-db-fra.com

Comment puis-je arrondir des nombres entiers en JavaScript?

J'ai le code suivant pour calculer un certain pourcentage:

var x = 6.5;
var total;

total = x/15*100;

// Result  43.3333333333

Ce que je veux, c'est le nombre exact 43 et si le total est 43.5 il devrait être arrondi à 44

Y a-t-il moyen de faire cela en JavaScript?

89
idontknowhow

Utilisez la fonction Math.round() pour arrondir le résultat à l'entier le plus proche.

162
Henning Makholm
//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();

soit un ou une combinaison va résoudre votre question

61
Drake
total = Math.round(total);

Devrait le faire.

10
Phil

Utilisation Math.round pour arrondir le nombre au nombre entier le plus proche:

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

une solution très succincte pour arrondir un float x:

x = 0|x+0.5

ou si vous voulez juste poser votre flotteur

x = 0|x

c'est un bitwise ou avec int 0, qui supprime toutes les valeurs après la virgule

4
Karo Castro-Wunsch