android Double.valueOf 报java.lang.NumberFormatException

android Double.valueOf 报java.lang.NumberFormatException_第1张图片

执行到 

Double.valueOf 时,报NumberFormatException,在中文,英文时没问题,切换例如 法语 才会出现。

android Double.valueOf 报java.lang.NumberFormatException_第2张图片

 是因为执行:

df.format((double) fileS / 1024)时,中文、因为都正常返回值是22.75
但法语时会返回22,75.
再执行Double.valueOf 时,会报NumberFormatException。

解决办法是:
android Double.valueOf 报java.lang.NumberFormatException_第3张图片

DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
df.setDecimalFormatSymbols(dfs);

 

你可能感兴趣的:(android)