xml里面EditText加入type:
android:inputType="numberDecimal"
/** * 输入金额保留小数点后两位 * @param edit */ public static void setEditChange(final EditText edit){ edit.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) { //如果"."在起始位置,则起始位置自动补0 if (s.toString().trim().substring(0).equals(".")) { s = "0" + s; edit.setText(s); edit.setSelection(2); } } @Override public void afterTextChanged(Editable s) { String temp = s.toString(); int posDot = temp.indexOf("."); if (posDot <= 0) return; if (temp.length() - posDot - 1 > 2) { s.delete(posDot + 3, posDot + 4); } } }); }
然后调用方法传入editText即可:
setEditChange(editText);