Nella maggior parte dei casi, come possiamo giustificare, quando useremoUsa NumberFormat o DecimalFormat
NumberFormat.getInstance();
Quando useremo
new DecimalForamt(...);
Nella maggior parte dei casi, come possiamo giustificare, quando useremoUsa NumberFormat o DecimalFormat
NumberFormat.getInstance();
Quando useremo
new DecimalForamt(...);
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.
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
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