Android限制输入小数点个数、小数点后两位。。。(kotlin)

et_money为edittext的id

1.输入小数点的个数

在代码中设置 inputType 为 8194

即 et_money.inputType = 8194

2.小数点后两位

et_money.addTextChangedListener(object : TextWatcher {
    override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {

    }

    override fun onTextChanged(p0: CharSequence, p1: Int, p2: Int, p3: Int) {
        val regex = "^\\d+.$"
        val r = Pattern.compile(regex)
        val matcher = r.matcher(p0)
        if (matcher.matches()) {
            et_money.filters = arrayOf(InputFilter.LengthFilter(p0.length + 2))
        }
    }

    override fun afterTextChanged(p0: Editable?) {

    }
})

3.判断是否以小数点开头,以00开头

string类型的变量有个 startsWith()方法

 

你可能感兴趣的:(Android限制输入小数点个数、小数点后两位。。。(kotlin))