Вы можете изменить разделитель либо путем установки языкового стандарта, либо с помощью символов DecimalFormatSymbols.
Если вы хотите разделитель группировки, чтобы быть точкой, вы можете использовать европейский языковой стандарт:
NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);
DecimalFormat df = (DecimalFormat)nf;
В качестве альтернативы можно использовать класс DecimalFormatSymbols, чтобы изменить символы, которые появляются в отформатированных чисел, полученных в формате метод. Эти символы включают десятичный разделитель, группирования разделитель, знак минус и знак процента, среди других:
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(currentLocale);
otherSymbols.setDecimalSeparator(',');
otherSymbols.setGroupingSeparator('.');
DecimalFormat df = new DecimalFormat(formatString, otherSymbols);
Кроме того, вы могли бы найти это полезным: http://tutorials.jenkov.com/java-internationalization/decimalformat.html объясняет почти все, что связано с вашей проблемой в очень простая и приятная манера.
Это зависит от вашего языкового стандарта JVM. – meskobalazs
Посмотрите на использование printf для вывода форматирования – LeatherFace
import java.text.DecimalFormat; import java.text.NumberFormat; импорт java.util.Locale; public class Main { public static void main (String [] args) { NumberFormat nf = NumberFormat.getNumberInstance (Locale.ENGLISH); DecimalFormat df = (DecimalFormat) nf; df.applyPattern ("#. 00"); double d = Double.valueOf ("500"); System.out.print (df.format (d)); } } –