android开发限制edittext只能输入小数点后两位数,小数点前8位(代码实现)
/**
* 限制edittext只能输入小数点后两位数,小数点前8位
*/
public static void setpricepoint(final edittext edittext) {
edittext.addtextchangedlistener(new textwatcher() {
@override
public void ontextchanged(charsequence s, int start, int before,
int count) {
if (s.tostring().contains(".")) {
if (s.length() - 1 - s.tostring().indexof(".") > 2) {
s = s.tostring().subsequence(0,
s.tostring().indexof(".") + 3);
edittext.settext(s);
edittext.setselection(s.length());
}
} else {
if (s.length() > 8) {
edittext.settext(s.subsequence(0, 8));
edittext.setselection(s.length() - 1);
}
}
if (s.tostring().trim().substring(0).equals(".")) {
s = "0" + s;
edittext.settext(s);
edittext.setselection(2);
}
if (s.tostring().startswith("0")
&& s.tostring().trim().length() > 1) {
if (!s.tostring().substring(1, 2).equals(".")) {
edittext.settext(s.subsequence(0, 1));
edittext.setselection(1);
return;
}
}
}
@override
public void beforetextchanged(charsequence s, int start, int count,
int after) {
}
@override
public void aftertextchanged(editable s) {
// todo auto-generated method stub
}
});
}
希望与广大网友互动??
点此进行留言吧!