Android EditText限制小數點輸入兩位
阿新 • • 發佈:2018-12-08
限制輸入小數點兩位
需要對輸入框設定鍵盤型別 inputType:number_decimal
bank_card_pay_balance.addTextChangedListener(new TextWatcher() { boolean deleteLastChar;//是否需要刪除末尾 @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(s.toString().contains(".")){ //如果點後面有超過三位數值,則刪掉最後一位 int length=s.length()-s.toString().lastIndexOf("."); if(length>=4){//說明後面有三位數值 deleteLastChar=true; }else{ deleteLastChar=false; } } } @Override public void beforeTextChanged(CharSequence s, int start, int count,int after) { } @Override public void afterTextChanged(Editable s) { if(deleteLastChar){ //設定新的擷取的字串 bank_card_pay_balance.setText(s.toString().substring(0, s.toString().length()-1)); //游標強制到末尾 bank_card_pay_balance.setSelection(bank_card_pay_balance.getText().length()); } } });