2016-07-05 112 views
0

使用下列库: http://jsfromhell.com/classes/bignumber大整数不被四舍五入

我的大整数没有被四舍五入。

我的代码如下:

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' 

我收到以下输出:

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有一个'.round()'方法[这里](HTTP://mikemcl.github。 io/bignumber.js /#round) –

+0

@JonathanM你只看类方法,而不是实例方法。 –

+0

对不起,我的眼睛交叉。 :) –

回答

0

您正在使用要求的精度和圆型您当库创建您的BigNumberround()方法没有采取任何参数河

所以,你应该改变你的代码,其中:

y = new BigNumber(x); 

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

'.round()'方法需要参数。看看[这里](http://mikemcl.github.io/bignumber.js/#round) –

+1

不是他发布的链接的代码,其中页面中的文档有:'BigNumber.round(void):void' –