您的位置:首页 > 其它

EditText实现只能输入数字和小数点,限制小数点后?位,并且以数字0开头后只能输入小数点

2016-07-29 09:15 435 查看
        首先限制edittext仅能输入数字和小数点的代码就一句话:

        et1.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

然后设置限制小数点后四位,并且以数字0开头后只能输入小数点的代码如下:

if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") > 4) {  //此处4是小数点后几位,几位就是几,例如如果4位就是4
s = s.toString().subSequence(0,
s.toString().indexOf(".") + 5);  //此处5是小数点后几位+1,几位就是几+1,例如如果4位就是5
et1.setText(s);
et1.setSelection(s.length());
}
}
if (s.toString().trim().substring(0).equals(".")) {
s = "0" + s;
et1.setText(s);
et1.setSelection(4);
}
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
et1.setText(s.subSequence(0, 1));
et1.setSelection(1);
return;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐