How can I format a String number to have commas in android Edit Field

后端 未结 8 1846
盖世英雄少女心
盖世英雄少女心 2020-12-07 18:27

For what function I can use in android to display the number into different formats.

For eg: If I enter 1000 then it should display like this 1,000. If I enter 1000

8条回答
  •  醉话见心
    2020-12-07 18:44

    Add a text change listener as below (Also make sure that the input type selected for Edittext is Number) :

    etTest.addTextChangedListener(new TextWatcher() {
    
            boolean isManualChange = false;
    
            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                if (isManualChange) {
                    isManualChange = false;
                    return;
                }
    
                try {
                    String value = s.toString().replace(",", "");
                    String reverseValue = new StringBuilder(value).reverse()
                            .toString();
                    StringBuilder finalValue = new StringBuilder();
                    for (int i = 1; i <= reverseValue.length(); i++) {
                        char val = reverseValue.charAt(i - 1);
                        finalValue.append(val);
                        if (i % 3 == 0 && i != reverseValue.length() && i > 0) {
                            finalValue.append(",");
                        }
                    }
                    isManualChange = true;
                    etTest.setText(finalValue.reverse());
                    etTest.setSelection(finalValue.length());
                } catch (Exception e) {
                    // Do nothing since not a number
                }
            }
    
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub
    
            }
    
            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
    
            }
        });
    

提交回复
热议问题