大整数未被舍入

时间:2016-07-05 18:30:24

标签: javascript rounding bignum

使用以下库: 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'

我收到以下输出:

  

1 1235

     

2 1234.56

     

3 1234.56

     

4 1234.56

     

5 1234.56

     

6 1234.56

     

7 1234.56

     

8 1234.56

     

9 1234.56

1 个答案:

答案 0 :(得分:0)

在您创建BigNumber时,您正在使用的库要求精确度和圆形类型,round()方法没有采用任何参数。

所以你应该改变你的代码:

y = new BigNumber(x);

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