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()方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值