I think the proper way to do it is the following:
NumberFormat percentFormat = NumberFormat.getPercentInstance();
percentFormat.setMaximumFractionDigits(1);
String result = percentFormat.format(0.125);
It also takes internalization into account. For example on my machine with hungarian locale I got “12,5%” as expected. Initializing percentFormat as NumberFormat.getPercentInstance(Locale.US) gives “12.5%” of course.