edittext實(shí)現(xiàn)只能輸入數(shù)字,且最多保留兩位小數(shù)

1、xml布局
<EditText
                        android:id="@+id/edHotTempValue"
                        android:layout_width="50dp"
                        android:layout_height="wrap_content"
                        android:background="@drawable/edit_bg"
                        android:paddingLeft="10dp"
                        android:inputType="number|numberDecimal"
                        android:text="0" />
2、edittext監(jiān)聽(tīng)

private int selectionStart;
private int selectionEnd;
edittext.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                selectionStart = edittext.getSelectionStart();
                selectionEnd = edittext.getSelectionEnd();
                if(!edHotTempValue.getText().toString().equals("")){
                if (!isOnlyPointNumber(edittext.getText().toString())){
                    ToastUtils.showLong("您輸入的數(shù)字保留在小數(shù)點(diǎn)后兩位");
                    //刪除多余輸入的字(不會(huì)顯示出來(lái))
                    s.delete(selectionStart - 1, selectionEnd);
                    edittext.setText(s);
                }
                }
            }
        });

public static boolean isOnlyPointNumber(String number) {//保留兩位小數(shù)正則
        Pattern pattern = Pattern.compile("^\\d+\\.?\\d{0,1}$");
        Matcher matcher = pattern.matcher(number);
        return matcher.matches();
    }


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容