Como alterar o separador decimal de DecimalFormat de vírgula para ponto / ponto?

Eu tenho esse pequeno método maluco que converte valores BigDecimal em Strings agradáveis e legíveis.

private String formatBigDecimal(BigDecimal bd){
    DecimalFormat df = new DecimalFormat();
    df.setMinimumFractionDigits(3);
    df.setMaximumFractionDigits(3);
    df.setMinimumIntegerDigits(1);
    df.setMaximumIntegerDigits(3);
    df.setGroupingSize(20);
    return df.format(bd);
}

No entanto, também produz o chamado separador de agrupamento"," que faz com que todos os meus valores saiam assim:

xxx,xxx

Eu preciso que o separador seja um ponto ou um ponto e não uma vírgula. Alguém tem idéia de como realizar esse pequeno feito?

eu liesta e em particularesta até a morte agora, mas não consigo encontrar uma maneira de fazer isso. Estou abordando isso da maneira errada? Existe uma maneira muito mais elegante de fazer isso? Talvez até uma solução que represente diferentes representações numéricas locais, já que a vírgula seria perfeita para os padrões europeus.

questionAnswers(6)

yourAnswerToTheQuestion