如何在EditText中输入"负十进制数"?

ive*_*ngh 12 math android exception android-edittext

我正在制作一个计算器,我想确保用户能够输入"负十进制数"我单独看到xml文件中的选项,例如为了输入十进制数,EditText的inputType必须是numberDecimal,并且负数,inputType必须是"numberSigned",但我需要两者.如果我选择inputType作为"text",那么如果不是数字,用户可以输入抛出异常的任何内容.我不知道如何解决这个问题.

And*_*ann 47

您可以同时使用"|" 运营商.只需指定"numberSigned | numberDecimal"即可.


g00*_*0dy 7

在以下布局中添加EditText:

android:digits="0123456789-."
Run Code Online (Sandbox Code Playgroud)

您可以在那里指定更多,例如,如果您希望用户输入sin()功能.


Dav*_*uel 5

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

<EditText
    ...
    android:inputType="numberSigned|numberDecimal"
    ... />
Run Code Online (Sandbox Code Playgroud)

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