Comment Java Chaîne.format avec une précision variable?

J'aimerais varier la précision d'une double représentation dans une chaîne, je suis la mise en forme basée sur la saisie de l'utilisateur. Droit maintenant, je vais essayer quelque chose comme:

String foo = String.format("%.*f\n", precision, my_double);

cependant, je reçois un java.util.UnknownFormatConversionException. Mon inspiration pour cette approche a été C printf et cette ressource (section 1.3.1).

Dois-je avoir une simple erreur de syntaxe quelque part, ne le support de Java ce cas, ou est-il une meilleure approche?

Edit:

Je suppose que je pourrais faire quelque chose comme:

String foo = String.format("%." + precision + "f\n", my_double);

mais je serais toujours intéressé à la prise en charge native pour une telle opération.