У меня была такая же проблема с локалью. Вы можете создать объект DecimalFormat для локали США, создав экземпляр NumberFormat и затем приведя его к DecimalFormat. Вот что говорит Oracle:
В предыдущем примере был создан объект DecimalFormat для локали по умолчанию. Если вам нужен объект DecimalFormat для ненулевого Locale, вы создаете экземпляр NumberFormat, а затем приводите его к DecimalFormat. Вот пример:
NumberFormat nf = NumberFormat.getNumberInstance(loc);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern(pattern);
String output = df.format(value);
System.out.println(pattern + " " + output + " " + loc.toString());
https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html