-3

次のように小数を入力できる編集テキストのinputTypeが必要です: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;
}

また、このようなキーリスナーを使用すると、入力中に有効な入力を確認できます。数字のみを許可するように変更できます。と /。

于 2013-06-11T06:05:14.070 に答える