2016-09-23 23 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 -to-N-小數位,在-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; 

但是,這可能會受到浮點運算的變幻莫測。