Android EditText 输入金额(小数点后两位)

来源:互联网 发布:linux上最好的输入法 编辑:程序博客网 时间:2024/05/16 06:22

最近在做商城的项目,里面经常有需要用户输入金额,在网上找到一些方法,现在记录下面,方便以后查找和使用。
EditText能够设置多种输进体式格局,但是若要设置输入数字和带小数点的数值时应注意:

1.若是设置只输入数字

//在代码中设置editText.setInputType( InputType.TYPE_CLASS_NUMBER);//或者在布局文件中设置 android:inputType="number"

此时只会弹出数字输入框,符号点击后不会输入到文字框中

2.若是设置只能输入数字和小数点

//InputType.TYPE_NUMBER_FLAG_DECIMAL、小数点型// InputType.TYPE_CLASS_NUMBER 整数型
//在代码中设置editText.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL|InputType.TYPE_CLASS_NUMBER);

**注意:只设置
InputType.TYPE_NUMBER_FLAG_DECIMAL是无法实现只能输入数字和小数点的,必须InputType.TYPE_CLASS_NUMBERInputType.TYPE_NUMBER_FLAG_DECIMAL同时设置才可以

3.若是设置只能输入数字和小数点后两位

 //设置字符过滤        editReturnGoodsMoney.setFilters(new InputFilter[]{new InputFilter() {            @Override            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {                if (source.equals(".") && dest.toString().length() == 0) {                    return "0.";                }                if (dest.toString().contains(".")) {                    int index = dest.toString().indexOf(".");                    int mlength = dest.toString().substring(index).length();                    if (mlength == 3) {                        return "";                    }                }                return null;            }        }});
0 0
原创粉丝点击