Есть приложение под андроид которое выполняет простые радиолюбительские расчеты. За последнюю неделю поймалось около десятка багов вида
Exception java.lang.NumberFormatException: Invalid double: "۲٫۴۰"
Exception java.lang.NumberFormatException: Invalid double: "٤٦٫٣٠"
все EditText поля заданы с такими атрибутами
inputValue.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
подскажите что может быть не так?
Это у вас арабские цифры, вот они и не парсятся по нормальному.
public static void main(String args[]){
String Numtoconvert="٨٧٫٥٩٨" ; // integer value 87.598
getUSNumber(Numtoconvert);
}
private static String getUSNumber(String Numtoconvert){
NumberFormat formatter = NumberFormat.getInstance(Locale.US);
try {
if(Numtoconvert.contains("٫"))
Numtoconvert=formatter.parse(Numtoconvert.split("٫")[0].trim())+"."+formatter.parse(Numtoconvert.split("٫")[1].trim());
else
Numtoconvert=formatter.parse(Numtoconvert).toString();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Numtoconvert;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей