2016-07-05 5 views
0

を四捨五入されていません。ビッグ整数は、次のライブラリを使用して

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' 

Iは、次の出力受け付けており:

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があります。 io/bignumber.js /#round) –

+0

@ JonathanMあなたはインスタンスメソッドではなく、クラスメソッドしか見ていません。 –

+0

申し訳ありませんが、私の目を越えました。 :) –

答えて

0

あなたがしたときの精度とラウンドタイプを尋ねる使用しているライブラリーBigNumberを作成し、round()メソッドはパラメータを取らなかったr。

だから、あなたのコードに変更する必要があります//mikemcl.github:

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

y = new BigNumber(x); 

+0

' .round() 'メソッドパラメータをとります。ここで見てください(http://mikemcl.github.io/bignumber.js/#round) –

+1

彼が投稿したリンクのコードではありません。ページ内のドキュメントには次のものがあります: 'BigNumber.round(void):void' –

関連する問題