-1

UI に入力テキスト フィールドを取得しました。

「GIRAFFEEE」、「GIRAFEAAA」、または「GIRAFFE123」を入力して送信する場合。スコア値は 0 である必要がありますが、1 が返されます。

大文字と小文字を区別する文字列を正しく比較するにはどうすればよいですか?

qns1 = qns1_txt.text.toLowerCase();
qns1Ans = "giraffe"
//.toLowerCase();
if (qns1 == qns1Ans)
{
    score = 1;
}
else
{
    score = 0;
}
4

1 に答える 1

0

以下をテストする場合:

var correct:String = "giraffe";
var userAns:String = "giraffeaaaa";

trace(correct == userAns);//false - as expected

文字列比較が機能することを意味します:)

テストコードがテキストフィールドのCHANGEイベントにあると仮定すると、ユーザーが正解の一部を入力する可能性があるため、誤検知が発生する可能性があります。関数を実行する必要があると思います:

function validate()
{
    qns1 = qns1_txt.text.toLowerCase();
    qns1Ans = "giraffe"

    score = 0;
    if(qns1 == qns1Ans)
    {
        score = 1;
    }
}

ユーザーが送信を押したときにそれを呼び出します。文字列の長さを比較することもできますが、等号演算子で問題ありません。

于 2012-10-04T12:26:00.570 に答える