2016-07-05 2 views
0

Utilisation de la bibliothèque suivante: http://jsfromhell.com/classes/bignumberentier Big n'est pas arrondi

mon grand entier n'est pas arrondi.

Mon code est le suivant:

x=1234.56; 
y = new BigNumber(x); 
document.write("<br>1 "+Math.round(x) +"<br>"); 
document.write("<br>2 "+y.round()+"<br>"); // '1235' 
document.write("<br>3 "+y.round(1)+"<br>"); // '1235.6' 
document.write("<br>4 "+y.round(2)+"<br>"); // '1235.56' 
document.write("<br>5 "+y.round(10)+"<br>"); // '1235.56' 
document.write("<br>6 "+y.round(0, 1)+"<br>"); // '1234' 
document.write("<br>7 "+y.round(0, 6)+"<br>"); // '1235' 
document.write("<br>8 "+y.round(1, 1)+"<br>"); // '1234.5' 
document.write("<br>9 "+y.round(1, BigNumber.ROUND_HALF_EVEN)+"<br>"); // '1234.6' 

Je reçois la sortie suivante:

2 1234,56

3 1234,56

4 1234,56

5 1234,56

6 1234,56

7 1234,56

8 1234,56

9 1234,56

+2

@JonathanM Il existe une méthode '.round()' [ici] (http: //mikemcl.github. io/bignumber.js/# round) –

+0

@JonathanM vous ne regardez que les méthodes de classe, pas les méthodes d'instance. –

+0

Désolé, j'ai les yeux croisés. :) –

Répondre

0

La bibliothèque que vous utilisez pour demander la précision et le type rond lorsque vous créer votre BigNumber, la méthode round() n'a pas pris de paramètre r.

Donc, vous devriez changer votre code où:

y = new BigNumber(x); 

Pour

y = new BigNumber(x, 0, 1); 
+0

La méthode '.round()' prend les paramètres. Regardez [ici] (http://mikemcl.github.io/bignumber.js/#round) –

+1

Pas le code du lien qu'il a posté, où les doc dans la page ont: 'BigNumber.round (void): void' –