19

我正在制作一个计算器,我想确保用户能够输入“负十进制数” 我在 xml 文件中分别看到了该选项,例如为了放置十进制数,EditText 的 inputType 必须是 numberDecimal 并且对于负数 inputType 必须是“numberSigned”,但我需要两者。如果我选择 inputType 作为“文本”,那么如果不是数字,用户就可以输入任何引发异常的内容。我也不确定如何解决这个问题。

4

4 回答 4

59

您可以将两者与“|”一起使用 操作员。只需指定“numberSigned|numberDecimal”。

于 2013-07-23T14:00:38.213 回答
7

在布局中添加EditText

android:digits="0123456789-."

您可以在此处指定更多内容,例如,如果您希望用户输入sin()功能。

于 2013-07-23T14:00:27.470 回答
3

正如@a11n 所说,您可以使用管道运算符来指定两者:

<EditText
    ...
    android:inputType="numberSigned|numberDecimal"
    ... />

有效数字:正负小数和整数。

于 2017-01-24T22:45:06.153 回答
2

有些手机在同一个按钮上有小数点和负数,因此无法做负数。我想出了一种方法,你可以通过简单地添加来分隔按钮:

android:inputType="numberSigned|numberDecimal|textPersonName"
android:digits="0123456789.-"

这样你仍然有数字键盘布局,但负数和小数点按钮将是分开的,你不能使用任何其他数字来弄乱应用程序。

于 2018-05-14T07:48:22.397 回答