我有一个 Android 应用程序,今天我收到了一份崩溃报告,其中包含以下内容:
当应用程序尝试解析用户提供的字符串编号时会触发此异常。
很明显,问题是应用程序无法解析印地语数字!那么,我该如何解决呢?
最佳答案
正则表达式
如果你想匹配任何 unicode 数字,使用正则表达式会更好。正则表达式是 \\p{N}+
,下面是如何使用它:
Matcher m=Pattern.compile("\\p{N}+").matcher(input);
if(m.find())
{
System.out.println(m.group());
}
语言环境
要回答您的问题,您应该使用 NumberFormat如 docs 中所述.指定 Locale
对于 NumberFormat
.
NumberFormat nf = NumberFormat.getInstance(new Locale("hi", "IN"));
nf.parse(input);
关于java - 解析印地语数字时出现 NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17679876/