-3

我想在编辑文本中输入一个输入类型,我可以像这样输入小数:2/4(我想打印“/”)。该程序是关于计算事物的,我需要输入小数的小数。谢谢。对不起我的英语不好。

4

2 回答 2

0

我认为最好的方法是使用字符串作为输入文本,然后解析字符串以找出用户输入的内容类型。

当用户完成输入后,您可以使用以下内容检查字符串:

public float testInputString(String testString) {
    boolean goodInput = true;
    float result = 0;
    if (testString.contains("/")) {
        //possible division
        String pieces[] = testString.split("/");
        if (pieces.length != 2) {
            goodInput = false;
        } else {
            try {
                float numerator = Float.parseFloat(pieces[0]);
                float denominator = Float.parseFloat(pieces[1]);
                result = numerator/denominator;
            } catch (Exception e) {
                goodInput = false;
            }
        }
    }  else if (testString.contains(".")) {
        try {
            result = Float.parseFloat(testString);                
        } catch (Exception e) {
            goodInput = false;
        }
    }

    //TODO something here if bad input, maybe an alert or something
    return result;
}

此外,如果您使用这样的按键侦听器,您可以在他们输入时检查有效输入。您可以将其修改为仅允许 numbers 。和 /。

于 2013-06-11T06:05:14.070 回答
-1

将此属性放在 Edittext 的 xml 节点中,并使用双符号而不是“/”

android:digits="1234567890.-"
于 2015-04-26T13:29:22.777 回答