Номер разбора с отрицательным суффиксом

Может кто-нибудь объяснить мне, почему приведенный ниже код дает этот вывод?

1.2
null

Выполнение следующего кода:

String positive = "1.2+";
String negative = "1.2-";
DecimalFormat format = new DecimalFormat("0.0");
format.setPositiveSuffix("+");
format.setNegativeSuffix("-");  
format.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.US));
System.out.println(format.parse(positive, new ParsePosition(0)));
System.out.println(format.parse(negative, new ParsePosition(0)));

Это хоть и работает, но мне не нравится повторение паттерна:

String positive = "1.2+";
String negative = "1.2-";
DecimalFormat format = new DecimalFormat("0.0+;0.0-");  
format.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.US));
System.out.println(format.parse(positive, new ParsePosition(0)));
System.out.println(format.parse(negative, new ParsePosition(0)));

Суффикс не предназначен для разбора?

6
задан Oskar Kjellin 2 July 2012 в 18:40
поделиться