サンプル

public static void main( String[] args ) {
String strLong = "12345-"; // 12345- is -12345 in locale ar_EG //$NON-NLS-1$
try {
System.out.println( Long.parseLong( strLong ) );
}catch (Exception e){
// NumberFormatException
e.printStackTrace();
System.out.println( e.getMessage() );
}
}

ソリューション
以下を使用します。
  • java.text.NumberFormat.parse (java.lang.String)

public static void main( String[] args ) {
String strLong = "12345-"; //$NON-NLS-1$

try {
long data = java.text.NumberFormat.getNumberInstance(java.util.Locale.FRENCH).parse(strLong).longValue();
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 ) {
String strLong = "12345-"; //$NON-NLS-1$
try {
long data = com.ibm.icu.text.NumberFormat.getNumberInstance(java.util.Locale.FRENCH).parse(strLong).longValue();
System.out.println(data);
}catch (Exception e){
System.out.println(e.toString());
}
}