您的位置:首页 > 移动开发 > Android开发

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

2016-12-21 15:19 169 查看
最近在做商城的项目,里面经常有需要用户输入金额,在网上找到一些方法,现在记录下面,方便以后查找和使用。

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_NUMBER
InputType.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;
}
}});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: