Skip to main content

等価 (=)

2 つのオペランドが文字列として等しいかを判断します。

詳細

等価演算子は、2 つのオペランドが文字列として等しいかを判断します。等価演算子を 2 つの文字列で実行すると、ObjectScript は、2 つのオペランドの文字順序が同一で、スペースを含め他の異なる文字を持たない同一の文字列の場合に True (1) を返します。それ以外の場合は False (0) を返します。以下に例を示します。

 WRITE "SEVEN"="SEVEN"

上記は、True (1) を返します。

等価演算子は、どちらのオペランドも数値的に解釈しません。例えば、以下の文は、2 つのオペランドが数値的には等価ですが、False (0) を返します。

 WRITE "007"="7"

両方のオペランドが数値である場合、等値演算子を使用して、数値的に等しいかどうかを判断できます。以下に例を示します。

 WRITE 007=7

上記は、True (1) を返します。

また、単項プラス演算子を使用して、強制的に数値変換を実行できます。以下に例を示します。

 WRITE +"007"="7"

上記は、True (1) を返します。

2 つのオペランドのタイプが異なる場合、両方のオペランドが文字列に変換され、それらの文字列が比較されます。 文字列への変換時に、丸めおよび有効桁数のために誤差が生じる可能性があります。以下に例を示します。

 WRITE "007"=7,!
  // converts 7 to "7", so FALSE (0)
 WRITE 007="7",!
  // converts 007 to "7", so TRUE (1)
 WRITE 17.1=$DOUBLE(17.1),!
  // converts both numbers to "17.1", so TRUE (1)
 WRITE 1.2345678901234567=$DOUBLE(1.2345678901234567),!
  // compares "1.2345678901234567" to "1.23456789012346", so FALSE (0)
FeedbackOpens in a new tab