範例

public static void main( String[] args ) {
String strByte = "126-"; //126- is -126 in ar_EG //$NON-NLS-1$
try {
System.out.println( Byte.parseByte(strByte ) );
} catch ( Exception e ) {
// NumberFormatException
e.printStackTrace();
System.out.println(e.getMessage());
}
}

解決方案
使用
  • 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 strByte = "126-"; //$NON-NLS-1$

try {
byte data = java.text.NumberFormat.getNumberInstance(loc).parse(
strByte).byteValue();
System.out.println(data);
} catch (Exception e) {
System.out.println(e.toString());
}
}
解決方案
使用 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 strByte = "126-"; //$NON-NLS-1$
try {
byte data = com.ibm.icu.text.NumberFormat.getNumberInstance(loc).parse(strByte).byteValue();
System.out.println(data);
} catch (Exception e) {
System.out.println(e.toString());
}
}