更改DecimalFormat语言环境
问题内容:
我DecimalFormat
在Edittext的addTextChangedListener方法中已自定义,一切正常,但是当我更改语言(语言环境)时,我的addTextChangedListener无法正常工作。
double answer = inputDouble * counterToDouble;
DecimalFormat df = new DecimalFormat("##.########");
// df=(DecimalFormat)numberFormat;
df.setRoundingMode(RoundingMode.DOWN);
answer = Double.parseDouble(df.format(answer));
unicoinsAmmount.setText(String.valueOf(df.format(answer)));
我搜索了我的问题并找到了NumberFormat
解决方案:
NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.US);
但我不知道如何使用此代码。
问题答案:
您可以尝试先转换为NumberFormat
,然后将其投射到DecimalFormat
Integer vc = 3210000;
NumberFormat nf = NumberFormat.getNumberInstance(Locale.US);
DecimalFormat formatter = (DecimalFormat) nf;
formatter.applyPattern("#,###,###");
String fString = formatter.format(vc);
return convertNumbersToEnglish(fString);