java - 在 Android Studio 的 EditText 中添加逗号作为数字的千位分隔符?

标签 java android android-studio android-edittext number-formatting

<分区>

我想在 EditText 中的每 1,000 之间添加逗号,这样用户就不必“猜测”它是 10,000 还是 100,000。在 EditText 中,当您输入一个数字时,它显示为 10000,但我想将其显示为 10,000。怎么办?

最佳答案

您必须将 TextChangedListner 添加到您的 edittext .i.e

          et.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                // TODO Auto-generated method stub

            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                et.removeTextChangedListener(this);

                try {
                    String givenstring = s.toString();
                    Long longval;
                    if (givenstring.contains(",")) {
                        givenstring = givenstring.replaceAll(",", "");
                    }
                    longval = Long.parseLong(givenstring);
                    DecimalFormat formatter = new DecimalFormat("#,###,###");
                    String formattedString = formatter.format(longval);
                    et.setText(formattedString);
                    et.setSelection(et.getText().length());
                    // to place the cursor at the end of text
                } catch (NumberFormatException nfe) {
                    nfe.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }

                et.addTextChangedListener(this);

            }
        });

注意:确保您的编辑文本输入类型是数字。即 android:inputType="number"

关于java - 在 Android Studio 的 EditText 中添加逗号作为数字的千位分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583176/

相关文章:

java - int 作为 boolean 表达式 Eclipse-Java

android - ionic native 音频不适用于 android

java - 无法从 MySQL 数据库中检索数据并将其放在我的 Android 应用程序的 ListView 中

java - 在 Jasper 报告中打印 ArrayList 值?

java - jsp属性值-尝试用表达式构成属性值

android - 如何生成.a 到.so

android - 在移动设备中屏幕从纵向 View 旋转到横向 View 时如何停止内容移动?

Android Studio - 4K 显示器 UI 缩放

java - 如何使用gradle生成具有多组源代码的多个android apk

android - Unity3d APK上传到谷歌播放时出错