Android 修改阿拉伯语数字显示

问题:如下情况,收到反馈说要把阿拉伯数字换成阿拉伯语


问题的原因是values-ar/strings.xml定义如下:

%1$s表示将第一个参数格式化为字符串,因此格式化参数给的是什么便输出什么,如此处给1000便输出1000。

修改的话就是把%1$s改成%1$d,表示将第一个参数格式化为整数,这个时候我们的String.format将会对数字起作用,并按传递的Locale信息格式化数字为当地语言。

 

代码中如何修改,直接把需要格式化的地方使用%d替换,如下:

String.format(Locale.getDefault(),"%d", value);

 

如果要求显示数字而不是阿拉伯语如何做。按如上解决问题的逆向思维,只是代码中可以使用如下2种方式:

String.format(Locale.getDefault(), "%s",value);

或者

String.format(Locale.US, "%d",value);

你可能感兴趣的:(Android)