一、概述

发现输出产品价格的时候不能简单的设置android:inputType为number或者numberDecimal,因为这样不能输入小数或者小数位能够输入多个,这样不符合实际生活需求,所以只能限制输入两位。

二、实现

主要是借助addTextChangedListener进行监听输入文本框的内容,声明一个textWatcher来执行监听,

前提是设置文本输入类型为:  android:inputType="numberDecimal"

 .... txt_productPrice.addTextChangedListener(textWatcher); ....private TextWatcher textWatcher = new TextWatcher() {        @Override        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {        }        @Override        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {        }        @Override        public void afterTextChanged(Editable editable) {            String editStr = editable.toString().trim();            int posDot = editStr.indexOf(".");            //不允许输入3位小数,超过三位就删掉            if (posDot < 0) {                return;            }            if (editStr.length() - posDot - 1 > 2) {                editable.delete(posDot + 3, posDot + 4);            } else {                //TODO...这里写逻辑            }        }    };

一般存储和使用时候借助

DecimalFormat df = new DecimalFormat("0.00");df.format(doubleData)

 

参考文章

更多相关文章

  1. Android(安卓)金钱计算BigDecimal 的使用
  2. Android打造炫酷进度条效果
  3. Android实训案例(一)——计算器的运算逻辑
  4. android 从EditText中获取内容
  5. android 经纬度 double类型 转换成 度分秒
  6. Android设置EditText只接受数字输入
  7. android 除法运算保留小数点
  8. android面试题一
  9. android EditText限制输入框小数位数

随机推荐

  1. 隐藏Android底部的虚拟按键
  2. Android TextToSpeech语音播放文本
  3. android build (可参考之建立android编译
  4. android 获取短信验证码倒计时
  5. Android通过JNI操作串口《一》
  6. android 数据存取——SharedPreferences
  7. Android NavigationView 侧滑菜单
  8. Gradle:Basic Project
  9. Android获取默认浏览器信息
  10. Android Wear Preview - Get Started Wit