Как округлить десятичные числа в Android
Возможный дубликат:
Двойное значение для округления в Java
Я получаю число с плавающей точкой в качестве ввода, и я хочу, чтобы он округлился до 2 цифр после десятичной точки. например, если я получу 18,965518 в качестве входных данных, я хочу, чтобы он был 18,97. Как это сделать?
2 ответа
Решение
Вы можете использовать DecimalFormat
объект, похожий на обычный Java.
Пытаться
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)
DecimalFormat использует String (таким образом выделяет дополнительную память), большие затраты по сравнению с
(float)Math.round(value * 100) / 100