2016-09-23 4 views
0

Я хочу выполнить функцию потолка по номеру (33.1504352455), чтобы он возвращал 33.16. Конечно, при использовании потолка он возвращает 34,0. Как бы сместить персонажа, на который действует потолок, чтобы он возвращал 33.16?Shifting Math.ceil в Java

+0

Возможный дубликат [Как округлить число до п знаков после запятой в Java] (http://stackoverflow.com/questions/153724/how-to-round-a-number -в-н-десятичные-места-в-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; 

Но это может быть подвергнуто капризов точки математики с плавающей запятой.