2016-09-23 7 views
0

数値(33.1504352455)に天井関数を実行して、33.16を返すようにしたいとします。天井を使用するときはもちろん、34.0を返します。天井が作用しているキャラクターをどのようにシフトさせて33.16を返すのですか?JavaでMath.ceilを移動する

+0

の可能な複製[Javaの小数点以下n桁の数値を丸める方法](http://stackoverflow.com/questions/153724/how-to-round-a-number -n-decimal-places-in-java) –

答えて

2

精度を高めるため、常にBigDecimalを選択してください。あなたはそれのようにすることができます:

BigDecimal b = new BigDecimal(33.1504352455); 
b = b.setScale(2, RoundingMode.CEILING) 
System.out.println(b); 
2

あなたは

number = Math.ceil(oldnumber * 100)/100.0; 

を試みることができる。しかし、これは浮動小数点演算の気まぐれを受ける可能性があります。

関連する問題