et_issue_size.addTextChangedListener(object : TextWatcher {
            override fun afterTextChanged(s: Editable?) {
            }

            override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
            }

            override fun onTextChanged(str: CharSequence?, start: Int, before: Int, count: Int) {
                var s:CharSequence?=str;
                if(s!=null){
                    var dianCount=s.toString().toCharArray().filter {
                        ForLog.showError(it.toString()+it.toString().equals("."))
                        it.toString().equals(".")

                    }.count();
                    ForLog.showError("点的数量"+dianCount)
                    if(dianCount>1){
                        //此处表示小数点出现多次
                        s=s.toString().subSequence(0, s!!.length-1);
                        et_issue_size.setText(s);
                        et_issue_size.setSelection(s!!.length);
                    }else {
                        //此处表示小数点只出现一次或者0次
                        if (s.toString().contains(".")) {
                            if (s!!.length - 1 - s.toString().indexOf(".") > 2) {
                                s = s.toString().subSequence(0, s.toString().indexOf(".") + 3);
                                et_issue_size.setText(s);
                                et_issue_size.setSelection(s!!.length);
                            }
                        }

                        if (s.toString().trim().substring(0).equals(".")) {
                            s = "0" + s;
                            et_issue_size.setText(s);
                            et_issue_size.setSelection(2);
                        }

                        if (s.toString().startsWith("0")
                                && s.toString().trim().length > 1) {
                            if (!s.toString().substring(1, 2).equals(".")) {
                                et_issue_size.setText(s!!.subSequence(0, 1));
                                et_issue_size.setSelection(1);
                                return;
                            }
                        }
                        if(s!!.length>0 &&s.toString().toDouble()>9999){
                            s=s.toString().subSequence(0, s!!.length-1);
                            et_issue_size.setText(s);
                            et_issue_size.setSelection(s!!.length);
                        }
                        if(s!!.length==5 && s!![0].toString().equals("9") &&
                                s!![1].toString().equals("9") &&
                                s!![2].toString().equals("9") &&
                                s!![3].toString().equals("9") &&
                                s!![4].toString().equals(".")){
                            s=s.toString().subSequence(0, s!!.length-1);
                            et_issue_size.setText(s);
                            et_issue_size.setSelection(s!!.length);
                        }
                    }
                }
            }

        })

results matching ""

    No results matching ""