Как округлить десятичные числа в Android
Возможный дубликат:
Двойное значение для округления в Java
Я получаю число с плавающей запятой в качестве ввода, и я хочу, чтобы он округлялся до двух цифр после десятичной точки.
то есть, например, если я получаю 18.965518 в качестве входных данных, я хочу, чтобы оно составляло 18.97. Как это сделать?
Ответы
Ответ 1
Вы можете использовать объект DecimalFormat
, аналогичный обычной Java.
Try
double roundTwoDecimals(double d)
{
DecimalFormat twoDForm = new DecimalFormat("#.##");
return Double.valueOf(twoDForm.format(d));
}
(пример кода снят с http://www.java-forums.org/advanced-java/4130-rounding-double-two-decimal-places.html)
Ответ 2
DecimalFormat использует String (таким образом выделяет дополнительную память), большие накладные расходы по сравнению с
(float)Math.round(value * 100) / 100