执行到
Double.valueOf 时,报NumberFormatException,在中文,英文时没问题,切换例如 法语 才会出现。
是因为执行:
df.format((double) fileS / 1024)时,中文、因为都正常返回值是22.75 但法语时会返回22,75. 再执行Double.valueOf 时,会报NumberFormatException。
解决办法是:
DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setDecimalSeparator('.'); df.setDecimalFormatSymbols(dfs);