java android,将字符串阿拉伯数字转换为英语

时间:2016-06-06 15:54:05

标签: java android string

我试图制作允许用户输入lat和lon(位置)的应用程序,但是当用户输入阿拉伯数字(12.76538,12.76538)时,它不适用于谷歌地图只有英文数字(12.76538,12.76538)。如何将用户输入的内容转换为英文数字

Location = latX ","LonX; // Location = ١٢.٧٦٥٣٨,١٢.٧٦٥٣٨ //Arabic numbers if  device lang is arabic

我如何改变这个

Location = ١٢.٧٦٥٣٨,١٢.٧٦٥٣٨ //Arabic numbers 

Location = 12.76538,12.76538 // English numbers

1 个答案:

答案 0 :(得分:1)

    String[] strings = "١٢.٧٦٥٣٨,١٢.٧٦٥٣٨".split(",\\s*");
    NumberFormat fmt = NumberFormat.getInstance(Locale.forLanguageTag("ar"));
    try {
        StringBuilder sb = new StringBuilder();
        for (String s : strings) {
            Number n = fmt.parse(s);
            if (sb.length() != 0) {
                sb.append(",");
            }
            sb.append(n);
        }
        System.out.println(sb.toString());
    } catch (ParseException ex) {
        Logger.getLogger(Xxx.class.getName()).log(Level.SEVERE, null, ex);
    }

语言环境不需要是阿拉伯语,但语言环境确定小数点分隔符是句点(USA)还是逗号(ISO标准,荷兰语,法语)。

Number.doubleValue()可以使用。