所以我遇到了崩溃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);

09-12 03:21