Przykład

public static void main (String[] args){
String strInteger = "125-"; // 125- to -125 w ustawieniach narodowych ar_EG //$NON-NLS-1$
try {
System.out.println( Integer.parseInt(strInteger) );
}catch (Exception e){
// NumberFormatException
e.printStackTrace();
System.out.println( e.getMessage() );
}
}

Rozwiązanie
Użyj
  • java.text.NumberFormat.parse (java.lang.String)

public static void main(String[] args) {
java.util.Locale loc = new Locale("ar", "EG"); //$NON-NLS-1$ //$NON-NLS-2$
String strInteger = "125-"; //$NON-NLS-1$

try {
int data = java.text.NumberFormat.getIntegerInstance(loc).parse(
strInteger).intValue();
System.out.println(data);
}catch (Exception e){
System.out.println(e.toString());
}
}

Rozwiązanie
Należy użyć ICU 2.6.1
  • com.ibm.icu.text.NumberFormat.parse (java.lang.String)

public static void main(String[] args) {
java.util.Locale loc = new Locale("ar", "EG"); //$NON-NLS-1$ //$NON-NLS-2$
String strInteger = "125-"; //$NON-NLS-1$

try {
int data = com.ibm.icu.text.NumberFormat.getIntegerInstance(loc)
.parse(strInteger).intValue();
System.out.println(data);
}catch (Exception e){
System.out.println(e.toString());
}
}