在android手机中,此方法效果很好。它采用任何双精度数字,并在小数点后变为两位小数。但是在“银河”选项卡中,数字更改为不是0.00,而是0.00。因此,当我从String转换为double时,出现异常。为什么会这样呢?
最佳答案
这是由于平板电脑的位置所致,在平板电脑上设置的位置上,数字分隔符为,
,而在其他位置(例如,您的手机)为.
。
您可以使用以下代码更改位置:
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(Local.GERMAN);
otherSymbols.setDecimalSeparator(',');
otherSymbols.setGroupingSeparator('.');
DecimalFormat df = new DecimalFormat(formatString, otherSymbols);
可以使用
Locale.LOCALITY
获取当前的本地地址,该地址可以在java.util.Local
中找到如果您愿意,这里是workaround。
这是一个非常适合您的question with related answers(包括我在此处输入的内容)。