Вы можете использовать BigDecimal для масштабирования и двойного округления. Попробуйте это:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Test {
public static void main(String[] args) {
BigDecimal input = BigDecimal.valueOf(300);
System.out.println("double 2 digit: " + Test.round(input, 2));
System.out.println("double 5 digit: " + Test.round(input, 5));
}
public static BigDecimal round(BigDecimal bd, int scale) {
return bd.setScale(scale, RoundingMode.HALF_UP);
}
}
Выведите примерно так:
double 2 digit: 300.00
double 5 digit: 300.00000