偶数奇数で分岐させたいです

解決


VBがんばります  2004-07-17 01:02:26  No: 84618

初歩的な質問かもしれませんが、現状問題を回避できていないので
質問させていただきます。

ある変数を2で割って偶数か奇数かで場合分けをしたいのですが、
どのように記述すればよいのでしょうか?
小数点は気にしません。整数部分のみで判断したいのです。

dim a as integer
  a = a/2  'aの値は可変です。

  if aの値が偶数ならこのルート then
     プログラム記述
  else
     プログラム記述
  end if

こういった具合に書きたいのですが、よい書き方がわかりません。
引き続き自分でも調べて書いてみますが、なにかこのような式の書き方を
ご存知の方がいらっしゃいましたらご教授お願いします。


VBがんばります  2004-07-17 01:12:01  No: 84619

すみません。開発環境を書いていませんでした。
Win 2000  VB6.0 SP5
です。


あいうえおにぎり  2004-07-17 01:14:39  No: 84620

If a Mod 2 = 0 Then
   偶数時処理
Else
    奇数時処理
End If


あいうえおにぎり  2004-07-17 01:27:31  No: 84621

もとい
If Fix(a) Mod 2 = 0 Then
    偶数時処理
Else
    奇数時処理
End If


GOD  2004-07-17 01:37:59  No: 84622

dim a as integer
なのでIf文でのFix(a)は意味無いのでは。
計算結果の代入時にFixなりIntなりしなと。


VBがんばります  2004-07-17 01:46:56  No: 84623

あいうえおにぎり様、即レスありがとうございます。
私の書いたソースにミスがあった為ちょと修正します。

変数aが可変のため、2で割っても必ずしも0が来るとは限らないことに気づきました。

aを割った値=偶数だったら、偶数処理。
もしくはaを割った値=奇数なら奇数処理。
という式というのは書くことは可能なのでしょうか?


nanashi  2004-07-17 02:10:36  No: 84624

> aを割った値=偶数だったら、偶数処理。
> もしくはaを割った値=奇数なら奇数処理。
> という式というのは書くことは可能なのでしょうか?

可能です。
あいうえおにぎりさんのソースは試したのでしょうか?


名無し  2004-07-17 02:14:13  No: 84625

別解として。

If A/2 = INT(A/2) Then


名無し  2004-07-17 02:15:48  No: 84626

途中で間違えて投稿しました……(汗

別解として。

If A/2 = INT(A/2) Then
    偶数時処理
Else
    奇数時処理
End If

こんなのもあります。


VBがんばります  2004-07-17 02:21:34  No: 84627

あいうえおにぎり様、GOD様、nanashi様、レスありがとうございます。

あいうえおにぎり様のソースもnanashi様のソースも試しました。
おかげさまで、分岐処理が自分の望む形で動くようになりました。
本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加