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
.