Арабские числа-иероглиы

177
18 июля 2018, 02:30

Есть приложение под андроид которое выполняет простые радиолюбительские расчеты. За последнюю неделю поймалось около десятка багов вида

Exception java.lang.NumberFormatException: Invalid double: "۲٫۴۰"
Exception java.lang.NumberFormatException: Invalid double: "٤٦٫٣٠"

все EditText поля заданы с такими атрибутами

inputValue.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

подскажите что может быть не так?

Answer 1

Это у вас арабские цифры, вот они и не парсятся по нормальному.

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;
}
READ ALSO
Как развернуть gradle проект на heroku

Как развернуть gradle проект на heroku

Есть Телеграм бот на java, создан при помощи gradleПодскажите пожалуйста что мне нужно добавить в build

175
Оптимизировать регулярное выражение

Оптимизировать регулярное выражение

Написал регулярку для такого условия: первая буква - заглавная русская, затем пробел, затем 6 цифрПример:

174
Как правильно написать свойства wrapper-а?

Как правильно написать свойства wrapper-а?

Вопрос исключительно мучает меня 3 дня и только для профессионалов CSS этот вопрос очень важный для понимания как работает верстка так как...

208