Как ввести "Negative Decimal Number" в EditText?

Я делаю калькулятор, и я хочу убедиться, что пользователь может ввести "отрицательное десятичное число". Я вижу эту опцию в файле xml отдельно, например, чтобы поместить десятичный номер, тип ввода EditText должен быть numberDecimal и для отрицательного числа inputType должен быть "numberSigned", но мне нужны оба. Если я выбираю inputType как "текст", тогда пользователь может ввести все, что выдает исключение, если оно не является числом. Я не уверен, как это исправить.

Ответ 1

Вы можете использовать оба параметра с параметром "|" оператор. Просто укажите "numberSigned | numberDecimal".

Ответ 2

Добавьте это в макет EditText:

android:digits="0123456789-."

Вы можете указать там больше, например, если вы хотите, чтобы пользователь вводил функции sin().

Ответ 3

Как говорит @a11n, вы можете использовать оператор pipe для указания обоих:

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

Допустимые числа: положительные и отрицательные десятичные и целые числа.