2016-09-08 2 views
2

bekomme ich folgende Fehler von der GPS-:Android konvertieren Arabisch Nummer English Anzahl

Fatal Exception: java.lang.NumberFormatException 
Invalid double: "-٣٣٫٩٣٨٧٤" 

Nun ist dies von einem Fehler, die ich von einem Benutzer über Stoff bekam. Es sieht wie Arabisch aus, also vermute ich, dass es nur passiert, wenn Sie die Sprache oder Ihre SIM-Karte eingestellt haben? Ist es möglich, die GPS zu zwingen, Zeichen im Bereich 0-9 zu senden? Oder kann ich das irgendwie beheben?

+0

, warum Sie nicht die arabische Zahl auf Englisch konvertieren? – Amy

+0

wie? Das ist im Grunde, was ich verlange, falls das passiert, wie kann ich das in englische Zahlen übersetzen? ohne Internet –

Antwort

7

Try this:

String number = arabicToDecimal("۴۲"); // number = 42; 

private static final String arabic = "\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9"; 
private static String arabicToDecimal(String number) { 
    char[] chars = new char[number.length()]; 
    for(int i=0;i<number.length();i++) { 
     char ch = number.charAt(i); 
     if (ch >= 0x0660 && ch <= 0x0669) 
      ch -= 0x0660 - '0'; 
     else if (ch >= 0x06f0 && ch <= 0x06F9) 
      ch -= 0x06f0 - '0'; 
     chars[i] = ch; 
    } 
    return new String(chars); 
} 
+0

Vielen Dank, das funktioniert !! –

+1

fröhliche Codierung. :) – Amy