【问题标题】:How to enter a "Negative Decimal Number" in EditText?如何在 EditText 中输入“负十进制数”?
【发布时间】:2013-07-22 15:30:51
【问题描述】:
我正在制作一个计算器,并且我想确保用户能够输入“负十进制数” 我在 xml 文件中分别看到了该选项,例如为了放置十进制数,EditText 的 inputType 必须是numberDecimal 和负数 inputType 必须是“numberSigned”,但我需要两者。如果我选择 inputType 作为“文本”,那么如果不是数字,用户就可以输入任何引发异常的内容。我也不确定如何解决这个问题。
【问题讨论】:
标签:
android
exception
math
android-edittext
【解决方案1】:
您可以将两者与“|”一起使用操作员。只需指定“numberSigned|numberDecimal”。
【解决方案2】:
在EditText的布局中添加这个:
android:digits="0123456789-."
您可以在此处指定更多内容,例如,如果您希望用户输入sin() 函数。
【解决方案3】:
正如@a11n 所说,您可以使用管道运算符来指定两者:
<EditText
...
android:inputType="numberSigned|numberDecimal"
... />
有效数字:正负小数和整数。
【解决方案4】:
有些手机在同一个按钮上有小数点和负数,所以不能做负数。我想出了一种方法,您可以通过简单地添加来分隔按钮:
android:inputType="numberSigned|numberDecimal|textPersonName"
android:digits="0123456789.-"
这样你仍然有数字键盘布局,但负数和小数按钮将是分开的,你不能使用任何其他数字来搞乱应用程序。