PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora

Google
 

Operatory porównania


Operatory porównania wykorzystywane są do wykonywania operacji porówniania.

Składnia:

[Wynik=]Wyrażenie1 operator Wyrażenie2
[Wynik=]Obiekt2 Is Obiekt2
[Wynik=]Łańcuch Like Maska

Wynik (Opcjonalne) zmienna numeryczna
Wyrażenie1 i Wyrażenie2 (Wymagane) dowolne wyrażenia
operator (Wymagane) dowolny operator porównania
Obiekt1 i Obiekt2 (Wymagane) nazwy obiektów
Łańcuch (Wymagane) wyrażenie łańcuchowe
Maska (Wymagane) wyrażenie łańcuchowe określające maskę porównania


Lista operatorów porównania i warunków określających zwracaną wartość:
Operator zwracane True gdy: zwracane False gdy: zwracane Null gdy:
< (mniejsze niż) Wyrażenie1<Wyrażenie2 Wyrażenie2>=Wyrażenie2 Wyrażenie1 lub Wyrażenie2=Null
<= (mniejsze niż lub równe) Wyrażenie1<=Wyrażenie2 Wyrażenie2>Wyrażenie2 Wyrażenie1 lub Wyrażenie2=Null
> (większe niż) Wyrażenie1>Wyrażenie2 Wyrażenie2<=Wyrażenie2 Wyrażenie1 lub Wyrażenie2=Null
>= (większe niż lub równe) Wyrażenie1>=Wyrażenie2 Wyrażenie2<Wyrażenie2 Wyrażenie1 lub Wyrażenie2=Null
= (równe) Wyrażenie1=Wyrażenie2 Wyrażenie2<>Wyrażenie2 Wyrażenie1 lub Wyrażenie2=Null
<> (różne niż) Wyrażenie1<>Wyrażenie2 Wyrażenie2=Wyrażenie2 Wyrażenie1 lub Wyrażenie2=Null

Operatory Is i Like mają inny określony sposób porównywania różny od przedstawionych w tabeli.

Podczas porównywania dwóch Wyrażeń może wystąpić problem z określeniem czy Wyrażenia powinny być porównywane jako liczby czy jako łańcuchy. Poniższa tabela przedstawia sposób porównania i wynik porównania, jeżeli przynajmniej jedno z wyrażeń nie jest typu Variant:
Jeżeli To
Obydwa Wyrażenia są numeryczne (Byte, Boolean, Integer, Long, Single, Double, Date, Currency lub Decimal) porównania numerczyne
Obydwa Wyrażenia są łańcuchami porównanie łańcuchów
Jedno Wyrażenie jest daną numeryczną a drugie typu Variant, które jest lub może być wartością numeryczną porównanie numeryczne
Jedno Wyrażenie jest daną numeryczną a drugie łańcuchem Variant, który może zostać przekonwertowany na wartość numeryczną wystąpi błąd niezgodności typów (type mismatch error)
Jedno Wyrażenie jest łańcuchem a drugie dowolną wartością Variant(oprócz Null) porównanie łańcuchowe
Jedno Wyrażenie jest Empty a drugie wartością numeryczną porównanie numeryczne, 0 zostanie użyte zamiast wartości Empty
Jedno Wyrażenie jest Empty a drugie łańcuchem porównanie łańcuchowe, łańcuch o zerowej długości ("") zostanie użyty zamiast wartości Empty

Jeżeli Wyrażenie1 i Wyrażenie2 są wyrażeniami Variant, ich podtyp określa sposób ich porównywania.
Sposób porównywania wartości Variant w zależności od ich podtypu:
Jeżeli To
Obydwa Wyrażenia są numeryczne porównanie numeryczne
Obydwa Wyrażenia są łańcuchami porównanie łańcuchowe
Jedno Wyrażenie jest numeryczne a drugie łańcuchowe wyrażenie numeryczne jest mniejsze niż wyrażenie łańcuchowe
Jedno wyrażenie jest Empty a drugie numeryczne porównanie numeryczne, 0 zostanie użyte zamiast Empty
Jedno Wyrażenie jest Empty a drugie łańcuchowe porównanie łańcuchowe, łańcuch o zerowej długości ("") zostanie użyty zamiast Empty
Obydwa Wyrażenia są Empty Wyrażenia są równe

Podczas porówywania wartości Single do Double, wartość Double jest zaokrąglana do precyzji Single.

Jeżeli wartość Currency jest porównywana do Single lub Double, wartość Single lub Double jest konwertowana do Currency.
Podobnie, jeżeli Decimal jest porównywana do Single lub Double, wartość Single lub Double jest konwertowana do Decimal.
Dla wartości Currency, część ułamkowa mniejsza niż .0001 może zostać utracona, dla Decimal część ułamkowa mniejsza niż 1e-28 może zostać utracona lub może powstać błąd nadmiaru (overflow error). Obcięcie części ułamkowych może spowodować równość w wyniku porównania dwóch wartości, podczas, gdy rzeczywiście nie są one równe.


Przykład użycia operatorów porównania:

Dim varWynik, Var1, Var2
varWynik=(45<35)  'varWynik=False
varWynik=(45=45)  'varWynik=True
varWynik=(4<>3)  'varWynik=True
varWynik=("5">"4")  'varWynik=True

Var1="5": Var2=4
varWynik=(Var1>Var2)  'varWynik=True

Var1=5: Var2=Empty
varWynik=(Var1>Var2)  'varWynik=True

Var1=0: Var2=Empty
varWynik=(Var1=Var2)  'varWynik=True


na górę strony...


Google
 
Poprzednia | Wyżej | Strona główna | Spis Treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora