android - 如何在editText中输入小数?
问题描述
我是android studio的初学者,我想构建一个应用程序,用户可以在editText中以a / b的形式输入数字。该数字稍后将被划分并进一步计算。不能在 Number(editText) 或 decimal(editText) 中以 a/b 形式输入数字。我应该使用什么?
非常感谢你们!最后,我编写了这段代码为我工作:
var fractionString = editText_input.text.toString() //the fraction is taken as a string with '/' in it
var splitFraction = Fraction.split('/')
var numerator = splitFraction[0]
var denominator = splitFraction[1]
解决方案
那么两个呢EditText
:一个用于分子,一个用于分母?
或使用EditText
添加TextChanger
with的字符串myEditText.addTextChangedListener(new MyTextChanger())
。
的代码MyTextChanger
如下:
public class MyTextChanger implements TextWatcher {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
int i;
boolean modified=false;
for (i = 0; (i < s.length()) && !modified; i++) {
if (((s.charAt(i) < '0') || (s.charAt(i) > '9')) && (s.charAt(i) != '/')) {
s.delete(i,i+1);
}
}
}
}