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