如何屏蔽 EditText 以接受特定格式的输入

How to mask EditText to take input in specific format

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

好的,我也阅读了 Francesco 的回答和您的评论。如果你需要检查小数点,你可以试试下面的方法。

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.34657265433.7834657836之间的值。

为什么加倍?

顾名思义,double 的精度是 float 的 2 倍。一般来说,double 有 15 个十进制数字的精度 ,而 float 有 7.

编辑: Francesco 的回答现已删除。