牛、豚、鶏、どれか一つ食べられなくなるとしたら?

テキストフィールドに合計ともう1つの合計を
わるのですが、合計/合計とした場合、
最初の合計が0/3となっていると、Infinityと表示し、
空白/3となると、NaNを表示します。
表示させない方法はありますか?
教えて下さい。

A 回答 (1件)

 isNaN() という関数があるので、それで不正な数値かどうかチェックできます。



 また、数値オブジェクトは Number.POSITIVE_INFINITY と Number.NEGATIVE_INFINITY という2つのシステム変数を使ってチェックできます。

 つまり、たとえばテキストフィールドの名前が TEST1 だった場合、

 obj = document.all;
 num = obj.TEST1.value-0;
 if ( isNaN(num) ||
    num = Number.POSITIVE_INFINITY ||
    num = Number.NEGATIVE_INFINITY ) ) obj.TEST1.value="";

 というプログラムによって、不正な数値を "" にすることができます。
    • good
    • 3
この回答へのお礼

すばやい回答ありがとうございました。
早速試してみたところ、構文エラーが出てしまい、
以下のように書いてみましたら、すぐできました。
if ( (isNaN(num)) ||
    (num == Number.POSITIVE_INFINITY) ||
    (num == Number.NEGATIVE_INFINITY) ) obj.TEST1.value="";
こんな便利なシステム変数があるなんて、知りません
でした。本当に助かりました。
有難うございました。

お礼日時:2004/08/05 19:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報