2010-02-19 17 views

risposta

3

Se si desidera specificare come i numeri sono formattati, quindi è necessario utilizzare il costruttore DecimalFormat. Se si desidera "il modo in cui la maggior parte dei numeri viene rappresentata nelle impostazioni internazionali correnti", utilizzare l'istanza predefinita di NumberFormat.

1

NumberFormat.getInstance riceve in effetti il ​​formattatore in base alle impostazioni internazionali e allo stile numerico. Potrebbe effettivamente restituire l'oggetto DecimalFormat(). "DecimalFormat è una sottoclasse concreta di NumberFormat che formatta i numeri decimali" - Da JDK javadocs

1

Ho avuto lo stesso problema relativo alle impostazioni internazionali. È possibile creare un oggetto DecimalFormat per le impostazioni locali statunitensi creando un'istanza di NumberFormat e quindi convertendolo in un formato decimale. Questo è ciò che Oracle dice:

L'esempio precedente ha creato un oggetto DecimalFormat per le impostazioni internazionali predefinite. Se si desidera un oggetto DecimalFormat per un locale non predefinito, si crea un'istanza di NumberFormat e quindi si esegue il cast in DecimalFormat. Ecco un esempio:

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