如何屏蔽EditText以获取特定格式的输入

时间:2018-05-29 20:40:29

标签: android android-edittext masking

我正在尝试限制我的EditText作为输入。我希望它最多占用21 million (20,999,999.99999999)。是否有可能实现>如果,那我该怎么办呢?我尝试将InputFilter与模式[0-9]{0,9}+((\.[0-9]{0,7})?)||(\.)?一起使用。告诉我该怎么做。

1 个答案:

答案 0 :(得分:1)

好吧,我也读了弗朗切斯科的回答和你的评论。如果您需要检查小数点,可以尝试以下方法。

EditText someText = findViewById(R.id.someValueInputHi);
String paw = someText.getText().toString().replaceAll("\\s+", ""); //rem unusual spaces
Double someInput = Double.parseDouble(paw);
if (someInput < 5.3465726543d | someInput > 3.7834657836d) {
    //Ok now
} else {
    //Oops, no man
}

您只接受 5.3465726543 3.7834657836 之间的值。

为什么加倍?

顾名思义,double的精度是float的2倍。通常, double具有 15 精度的十进制数字,而float具有7。

修改 弗朗西斯科的答案现已删除。