Bek*_*aKK 18 java android bigdecimal 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)));
Run Code Online (Sandbox Code Playgroud)
我搜索了我的问题并找到了NumberFormat解决方案:
NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.US);
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用这段代码.
Joe*_*ggs 38
您还可以通过DecimalFormat以下方式指定区域设置:
DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.US);
DecimalFormat format = new DecimalFormat("##.########", symbols);
Run Code Online (Sandbox Code Playgroud)
Fai*_*eer 28
您可以尝试先转换为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);
Run Code Online (Sandbox Code Playgroud)
您可以在创建DecimalFormat对象时使用基本的构造函数来设置Locale:
DecimalFormat dFormat = new DecimalFormat("#.#", new DecimalFormatSymbols(Locale.US));
Run Code Online (Sandbox Code Playgroud)