¿Puede alguien explicarme por qué el siguiente código da esta salida?Número de análisis con el sufijo negativo
1.2
null
ejecutando el siguiente código:
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)));
Esto funciona sin embargo, pero no me gusta la repetición del patrón:
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)));
es el sufijo no destinada a ser utilizada para Analizando?
Parse no garantiza que consuma toda la cadena. Se detendrá cuando tenga un personaje con el que no sepa qué hacer. –
@PeterLawrey Lo sé, pero pensé que le dije qué hacer cuando establecí el sufijo. ¿Y por qué maneja + pero no -? –
@PeterLawrey También supongo que el segundo código es más lento, ya que necesitaría analizar toda la cadena dos veces. –