将英语数字转换为阿拉伯语的最佳方法

我想将javaString包含英文数字的a转换为阿拉伯数字,所以我将其转换为

int  arabic_zero_unicode= 1632;

String str = "13240453";

StringBuilder builder = new StringBuilder();

for(int i =0; i < str.length(); ++i ) {

builder.append((char)((int)str.charAt(i) - 48+arabic_zero_unicode));

}

System.out.println("Number in English : "+str);

System.out.println("Number In Arabic : "+builder.toString() );

输出

Number in English : 13240453

Number In Arabic : ١٣٢٤٠٤٥٣

还有另一种更有效的方法吗?

回答:

这使字符串长度为3036的版本比原来的版本提高5倍。这还会检查以确保您只更改数字。如果不执行if / else检查,则速度大约是6倍。

如果字符不正确/放错了位置,请原谅我。我不得不从另一个来源找到其中一些。

char[] arabicChars = {'٠','١','٢','٣','٤','٥','٦','٧','٨','٩'};

StringBuilder builder = new StringBuilder();

for(int i =0;i<str.length();i++)

{

if(Character.isDigit(str.charAt(i)))

{

builder.append(arabicChars[(int)(str.charAt(i))-48]);

}

else

{

builder.append(str.charAt(i));

}

}

System.out.println("Number in English : "+str);

System.out.println("Number In Arabic : "+builder.toString() );

以上是 将英语数字转换为阿拉伯语的最佳方法 的全部内容, 来源链接: utcz.com/qa/425632.html

回到顶部