所以我遇到了崩溃 java.lang.NumberFormatException: Invalid float: "٠"
因为由于某种原因,在埃及设备上,十进制分隔符是 ٠ 而不是 。
我该如何解决这个问题?它可以处理使用 ,(逗号)作为小数点符号的用户,但是这个奇怪的点会导致崩溃。这是有问题的代码:
DecimalFormat oneDigit = new DecimalFormat("#.#");
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
oneDigit.setDecimalFormatSymbols(dfs);
sevenDaysAverage = Float.valueOf(oneDigit.format(sevenDaysAverage)); // exception here
我的目标是使用由点分隔的单个小数来格式化数字,因为该应用程序是英文的,这就是数字的显示方式。
最佳答案
String f = "20.0"; // suppose . is weird symbol
String f1 = f.replace(".","."); // replace weird dot with decimal point
然后将 f1
转换为 String
。
sevenDaysAverage = Float.valueOf(f1);
关于java.lang.NumberFormatException : Invalid float: "٠",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28326460/