Как округлить десятичные числа в 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
Другие вопросы по тегам