• ベストアンサー

Javascriptで算術演算子を作っているのですがわかりません・・・

あの、JavaScriptの課題で、算術演算子つくり、加算、減算、乗算、除算、整数の除算の商と余りが求めれるように、a bにそれぞれ数値を代入して計算開始というのを作りました。それで、数値以外のたとえば、アルファベットなどを代入した場合、それは数値ではありません、数値を代入してくださいというような数値の入力を促すようになるようにしたいのですが、エラーばかりでます。どのようにソースを打ったら良いのかさっぱりわかりません。教えてください!!よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

var lvbKonaRet=1; if(window.top.isNaN){  lvbKonaRet=window.top.isNaN(avvKonaArg); }else if(avvKonaArg){  }else if((avvKonaArg+"")==(("S"-0)+"")){   lvbKonaRet=(1==1);  }else if((avvKonaArg)==((avvKonaArg-0)+"")){   lvbKonaRet=(1==2);  }else if((avvKonaArg-0)==(0)){   lvbKonaRet=(1==2);  }else lvbKonaRet=(1==1); }else if((avvKonaArg+"")==(undefined+"")){  lvbKonaRet=(1==1); }else if((avvKonaArg+"")==(("S"-0)+"")){  lvbKonaRet=(1==1); }else lvbKonaRet=(1==2); (注:表示の為、余白は全角スペースを用いています。) 以上で、数値または数値として解釈可能な文字列でない場合は真、そうでない場合は偽が lvbKonaRet に設定されます。 (1 が最後まで残っていたら処理が不適切な場合です。) 調べたい値は、avvKonaArg に設定します。 というか、そのまま容易に関数にできます。 (そもそも私が使っている関数をさらに簡素にしたものですから。) 尚、window.top の存在していない JavaScript に対応しているブラウザはいくらなんでも無いと思うので 存在チェックは省略しています。 isNaN はIE3あたりが未対応なので一応存在チェックをして振り分けています。 ("S"-0) は NaN の代わりです。 (1==1) は true の代わりです。 (1==2) は false の代わりです。 以上により、ほぼどのブラウザでも対応できていると思います。 まぁ通常は isNaN で充分とは思いますが・・・。

その他の回答 (1)

  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

isNaN()を使うとどうでしょう。 if(!isNaN(a)){ alert('error'); }

関連するQ&A

  • 算術演算子にて、整数での除算処理は商になる?

    JAVAのプログラミングを勉強しているのですが、JAVAの算術演算子にて、 参考書に「除算演算子は割り算を行うものだが、整数同士の割り算を用いると「商」を計算する」と書かれているのですが、これはどういう意味でしょうか? 整数同士の割り算をすると、小数点ではなく四捨五入をした整数値が出力されるのでしょうか?

    • ベストアンサー
    • Java
  • 四則演算についてです

    四則演算の除算法についてですが {23/6}を2進数で求めたいです。 但し、被除数は6ビット、除数は4ビットという条件付き。 23=(0 10111)2 6=(0 110)2 2の補数を用いて-6=(1 010)2 減算結果が正の場合、商として1をたて 減算結果が負の場合、商として0を立てるのですが 010111 +)1010    商 --------- 111111 …0 +) 1010 --------- 1010011 …0 +) 1010 --------- 1101 …0 +) 1010 --------- 10111 となってしまい商と余りがうまく出ません! 間違ってるところ教えてください!

  • 情報処理の質問です

    加算演算のみで、減算・乗算・除算する方法を詳しく説明するとしたら、どのように答えますか? よろしくお願いします。

  • ”/”を使わずに割り算したいんですが…

    割り算(/)を使わずに加算(+)、減算(-)、乗算(*)のいずれかまたはは全てを使って割り算を行い、商と余りを求めるプログラムを作りたいのですが、どのようにしたらよいのでしょうか?

  • 基本情報技術者過去問

    1)負数を2の補数で表す8ビットの数値がある。この値を10進数で表現すると-100である。この値を符号なしの数値として解釈すると、10進数で幾らか? ア)28 イ)100 ウ)156 エ)228 2) 多くのコンピュータが、演算回路を簡単にするために補数を用いている理由はどれですか。 ア)加算を減算で処理できる イ)減算を加算で処理できる ウ)乗算を加算の組み合わせで処理できる エ)除算を減算の組み合わせで処理できる

  • += 加算代入演算子 結合代入演算子

    JavaScriptを勉強していまして、+=という演算子が使われています。 調べると、あるサイトでは加算代入演算子と呼ばれているのを見たのですが、別のサイトでは結合代入演算子と表現されているようでした。 Googleで "加算代入演算子"は2250件ヒット "結合代入演算子"は495件のヒットでした どちらも思ったよりヒットしませんでしたが… これはどちらの呼び方が正しいでしょうか?どちらともでしょうか? ご回答いただけると幸いです。

  • 16ビットCPUで32ビットの計算方法

    16ビットのCPUを持つシーケンサ(PLC )で32ビットの四則演算(加算、減算、乗算、除算)をさせたいのですが、命令語にダブルワードを処理できるものがないので、演算がオーバーフローした情報から何かしら自分でプログラムを組まなければなりません。 16ビットのレジスタを使った32ビット演算の考え方を教えてください。

  • 二乗演算回路とオペアンプ

    レポートでで二乗演算回のどこにオペアンプが使われているか?という課題がでて図書館等で調べても加算回路や減算回路は多く見かけるのですが二乗演算回路がなかなか見つからず困っています。 教えてください。

  • C言語の課題で困っています。その1.四則演算

    二つの整数値を読み込んで、前者を後者で割り、その結果の商と余りを表示するプログラムを作成。 実行例にあるよう、ゼロで割るような場合への対処も考慮する。 実行例1: 整数の除算を行います。整数を入力してください。 整数A:13 整数B:5 13 ÷ 5 = 2 あまり 3 実行例2: 整数の除算を行います。整数を入力してください。 整数A:10 整数B:0 0でわることはできません! (注)プログラム実行時にキーボードからどんな整数を入力してもいいように作成すること。 という課題に取り組んでいますが、途中までしか記述できません。 どなたか助けてください。 下記が途中までの記述です。 /*二つの整数値を読み込んで、前者を後者で割り、その結果の商と余りを表示*/ #include <stdio.h> int main(void) { int na, nb; printf("shimasaki kazunori \n"); puts("整数の除算を行います。整数を入力してください。: \n"); printf("整数A:"); scanf("%d", &na); printf("整数B:"); scanf("%d", &nb); printf("na ÷ nb = %d あまり %d \n", na / nb, nb, na % nb); return(0); }

  • 10進のマイナスの計算について

    10進のマイナスを2進にする方法 10進のマイナスで少数のものを2進にする方法 を教えてください 方法にも減算、加算、除算、乗算とありますが 一番分かりやすいものをお願いします いろいろと調べているのですが どうしてもわかりません 例をだしていただけるとありがたいです 

専門家に質問してみよう