W klasie Math istnieją metody zaokrąglające liczby (floor, round i inne). Metody te omówimy w innym wpisie. Działanie tych metod jest niewystarczające. Poniżej prezentuję metodę roundToDecimal, która pozwala na zaokrąglanie wyniku do dowolnej liczby miejsc po przecinku.

/**
* funkcja zaokrągla podaną liczbę do określonej liczby miejsc po przecinku
* @param num double - liczba do zaokrąglenia
* @param dec int - liczba miejsc po przecinku;
* @return double - zwraca zaokrągloną liczbę
*/
public static double roundToDecimal(double num, int dec) {
    int multi = (int) Math.pow(10, dec);
    int temp = (int) Math.round(num * multi);
    return (double) temp / multi;
}

Metodę można łatwo nadpisać tak, aby móc zaokrąglać liczby typu float.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *