如何屏蔽 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.3465726543和3.7834657836之间的值。
为什么加倍?
顾名思义,double 的精度是 float 的 2 倍。一般来说,double 有 15 个十进制数字的精度 ,而 float 有 7.
编辑:
Francesco 的回答现已删除。
我正在尝试限制我的 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.3465726543和3.7834657836之间的值。
为什么加倍?
顾名思义,double 的精度是 float 的 2 倍。一般来说,double 有 15 个十进制数字的精度 ,而 float 有 7.
编辑: Francesco 的回答现已删除。