入力から数値を取得するペルシャ語の Android アプリケーションに取り組んでいEditText
ます。問題は、にカスタム書体を使用していて、その中に数値を取得しようとすると、メソッドをEditText
使用して double に変換しようとすると、 .LogCatの文字列としての値を取得すると、ペルシャ文字の数字。奇妙なことに、コード内に二重の数字を挿入すると、この問題が発生し、ユーザーがその数字を入力すると、すべて問題ありません! この問題を解決するためのアイデアはありますか? ファルシ数字の文字列を double に変換する方法はありますか? ご協力ありがとうございました。Double.ValueOf
NumberFormatException
EditText
EditText
質問する
1776 次
1 に答える
1
このコードを使用して、ペルシア数字を標準数字に変換できます。
char[] arabicChars = {'٠','١','٢','٣','٤','٥','٦','٧','٨','٩'};
int arabic_zero_unicode= 1632;
String str = "١٣٢٤٠٤٥٣";
StringBuilder builder = new StringBuilder();
boolean charFound=false;
for(int i =0; i < str.length(); ++i ) {
charFound=false;
for(int j=0;j<arabicChars.length;j++){
if(str.charAt(i)==arabicChars[j]){
builder.append((char)((int)str.charAt(i) + 48-arabic_zero_unicode));
charFound=true;
}
if(!charFound)
builder.append(str.charAt(i));
}
}
System.out.println("Number in English : "+builder.toString());
今、あなたは使用することができます
Double.ValueOf(builder.toString());
于 2016-07-27T08:07:09.033 に答える