You sort of answered your own question – build your format string dynamically… valid format strings follow the conventions outlined here: http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax.
If you want a formatted decimal that occupies 8 total characters (including the decimal point) and you wanted 4 digits after the decimal point, your format string should look like “%8.4f”…
To my knowledge there is no “native support” in Java beyond format strings being flexible.