android开发之EditText金额输入只能两位小数点
生活随笔
收集整理的這篇文章主要介紹了
android开发之EditText金额输入只能两位小数点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?直接上代碼:
/*** 監聽輸入最小金額為0.01* 且只能輸入兩位小數*/private void listenerMoney() {etGoodPrice.addTextChangedListener(new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {if (TextUtils.isEmpty(s.toString())) {return;}// 判斷小數點后只能輸入兩位if (s.toString().contains(".")) {if (s.length() - 1 - s.toString().indexOf(".") > 2) {s = s.toString().subSequence(0, s.toString().indexOf(".") + 3);etGoodPrice.setText(s);etGoodPrice.setSelection(s.length());}}//如果第一個數字為0,第二個不為點,就不允許輸入if (s.toString().startsWith("0") && s.toString().trim().length() > 1) {if (!s.toString().substring(1, 2).equals(".")) {etGoodPrice.setText(s.subSequence(0, 1));etGoodPrice.setSelection(1);return;}if (s.toString().length() == 4) {//針對輸入0.00的特殊處理if (Double.valueOf(s.toString()) < 0.01) {Toast.makeText(mContext, "最小為0.01", Toast.LENGTH_SHORT).show();etGoodPrice.setText("0.01");etGoodPrice.setSelection(etGoodPrice.getText().toString().trim().length());}}}}@Overridepublic void afterTextChanged(Editable s) {}});}看效果圖:
總結
以上是生活随笔為你收集整理的android开发之EditText金额输入只能两位小数点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纯电飞行250公里 国产厂商创电动载人飞
- 下一篇: 全民k歌播放历史在哪里