我试图制作允许用户输入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
答案 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()
可以使用。