Example

public static void main( String[] args ) {
short s = -12345;
Short S = new Short(s);
System.out.println(Short.toString(s));
System.out.println(S.toString());
}
Solução
Use
  • java.text.NumberFormat

public static void main(String[] args){
short n = -12345;
Short N = new Short(n);
java.text.NumberFormat f;
java.util.Locale l;

l = java.util.Locale.ENGLISH;
f = java.text.NumberFormat.getNumberInstance(l);
System.out.println(Messages.getString("ShortToString_Solution1.0") + f.format(n)); //$NON-NLS-1$
System.out.println(" English: " + f.format(N)); //$NON-NLS-1$

l = new java.util.Locale("ar", "AE"); //$NON-NLS-1$ //$NON-NLS-2$
f = java.text.NumberFormat.getNumberInstance(l);
System.out.println(" Arabic: " + f.format(n)); //$NON-NLS-1$
System.out.println(" Arabic: " + f.format(N)); //$NON-NLS-1$

l = new java.util.Locale("mk", "MK"); //$NON-NLS-1$ //$NON-NLS-2$
f = java.text.NumberFormat.getNumberInstance(l);
System.out.println("Macedonia: " + f.format(n)); //$NON-NLS-1$
System.out.println("Macedonia: " + f.format(N)); //$NON-NLS-1$
}

Solução
Utilize ICU 2.6.1
  • com.ibm.icu.text.NumberFormat

public static void main(String[] args){
short n = -12345;
Short N = new Short(n);
com.ibm.icu.text.NumberFormat f;
java.util.Locale l;

l = java.util.Locale.ENGLISH;
f = com.ibm.icu.text.NumberFormat.getNumberInstance(l);
System.out.println(" English: " + f.format(n)); //$NON-NLS-1$
System.out.println(" English: " + f.format(N)); //$NON-NLS-1$

l = new java.util.Locale("ar", "AE"); //$NON-NLS-1$ //$NON-NLS-2$
f = com.ibm.icu.text.NumberFormat.getNumberInstance(l);
System.out.println(" Arabic: " + f.format(n)); //$NON-NLS-1$
System.out.println(" Arabic: " + f.format(N)); //$NON-NLS-1$

l = new java.util.Locale("mk", "MK"); //$NON-NLS-1$ //$NON-NLS-2$
f = com.ibm.icu.text.NumberFormat.getNumberInstance(l);
System.out.println("Macedonia: " + f.format(n)); //$NON-NLS-1$
System.out.println("Macedonia: " + f.format(N)); //$NON-NLS-1$
}