如何在Java中限制EditText仅输入浮点数?

9

我已经找到了如何在XML中将输入限制为整数或浮点数的方法,但我希望能够以编程方式实现。

对于整数值,我可以设置setInputType(InputType.TYPE_CLASS_NUMBER),但对于浮点数呢?

我希望它们以xxxx.xxx的格式显示。

2个回答

10

我想你正在寻找

android:inputType="numberDecimal"

在xml文件中

InputType.TYPE_NUMBER_FLAG_DECIMAL

在Java源文件中。

TYPE_NUMBER_FLAG_DECIMALTYPE_CLASS_NUMBER的一个标志,允许输入小数。

更多信息请参见此链接

另一种方法是使用测试输入值:

if(editText.getText().toString().contains("."))
     //Its a float value
else
     //Not a float value

谢谢,伙计。FLAG_DECIMAL允许浮点数输入,但也允许字符输入,我只想要浮点数而不是文本值。现在怎么办? - Ayush Goyal
@AyushGoyal 在我的情况下,它运行良好。我已经在XML结构中设置了这个。但它应该双向工作。请再次检查一下。 - Chandra Sekhar
4
使用setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL)。该代码片段用于设置文本输入框只接受数字和小数点的输入。 - Hielko

2

我们简单地使用

editText.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_DECIMAL)

只有在您想以编程方式执行时才需要这样做。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接