¿Cómo formatea un porcentaje fraccionario con java.text.MessageFormat

Mis porcentajes se truncan por la función predeterminada java.text.MessageFormat, ¿cómo formatea un porcentaje sin perder precisión?

Ejemplo

String expectedResult = "12.5%";
double fraction = 0.125;

String actualResult = MessageFormat.format("{0,number,percent}", fraction);
assert expectedResult.equals(actualResult) : actualResult +" should be formatted as "+expectedResult;

Respuestas a la pregunta(6)

Su respuesta a la pregunta