SAK 図書館
VB 入門編3 - 演算子、比較演算子、論理演算子、is 関数
■演算子 ・VB の基本演算子は、次のとおりである。 計算の優先順位は数学的で、() で計算順位を変更する。 = 代入 + 加算 - 減算 * 掛け算 / 割り算 mod 余り ^ 階乗 & 文字列結合 dim a as double a = 1 '** a に 1 を代入 a = a + 1 '** 現在の a に 1 を加算 a = a - 1 '** 現在の a から 1 を減算 a = 1 + 2 * 4 '** 2 * 4 の結果 8 に 1 を加算 a = (1 + 2) * 4 '** 1 + 2 の結果 3 に 4 を乗算 a = 10 mod 3 '** 10 / 3 の余り、1 を求める a = 2^8 '** 2 の 8 乗 dim s as string s = "abc" & "def" '** "abc" と "def" を結合して、"abcdef" にする ・VB の基本数値計算は 2 進演算である。 従って、小数点以下を含む数値計算を行うと、微妙な誤差問題が発生する。 特に事務処理などの金額計算では 10 進演算になるように注意する。 10 進演算を VB6 で行うには、variant の cdec を使用する。 尚、10 進演算は、BCD 演算と呼ばれることもある。 dim total as variant dim su1 as variant dim su2 as variant su1 = cdec(10000) su2 = cdec(1.02) total = cdec(su1 * su2) ■比較演算子 ・VB の比較演算子は、次のとおりである。 = 等しい <> 等しくない > より小さい >= より小さいか等しい < より大きい <= より大きいか等しい and かつ or または dim a as double a = 10 if a = 10 then '** a は 10 と等しい if a <> 10 then '** a は 10 以外 if a > 10 then '** a は 10 より大きい if a >= 10 then '** a は 10 と等しいか大きい if a < 10 then '** a は 10 より小さい if a <= 10 then '** a は 10 と等しいか小さい if a = 10 or a = 20 then '** a は 10 か、20 と等しい dim s as string s = "abc" if s = "abc" then '** s は "abc" と等しい if s <> "" then '** s は空でない if s > "aaa" then '** s は "aaa" より大きい ■論理演算子、ビット演算子 ・VB の論理演算子は、次のとおりである。 ビット操作などに、よく使用する。 and 論理積 or 論理和 not 反転 xor 排他論理和 dim a as long a = &H0f and &Hf3 '** 00001111B and 11110011B = 00000011B a = &H0f or &Hf3 '** 00001111B or 11110011B = 11111111B a = not &H0f '** not 00001111B = 11110000B a = &H0f xor &Hf3 '** 00001111B xor 11110011B = 11111100B ・通常の integer、long 型では、byte 上位のビットが影響を受ける。 例えば、ビット反転では、次のように &HFF の and ビットマスクで、 byte 値にすると良い。 dim a as integer a = &HC6 a = (Not a) And &HFF msgbox a ■is 関数 ・変数などの値を調べる is で始まる関数は、次のとおりである。 IsArray(変数) 配列か調べる IsDate(変数) 日付か調べる IsEmpty(変数) 使われているか調べる IsNull(変数) NULL 値か調べる IsNumeric(変数) 数値か調べる IsObject(変数) オブシェクトか調べる dim a as variant a = 123 if IsNumeric(a) then '** a は数値 ■VB 入門編資料
■VB 基礎編資料
■VB ビジュアル編資料
■VB テクニック編資料