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);

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐