Template:RelationalOperationsPlugin: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{FixedStart}}
{{FixedStart}}
    Table 3: The operations available for relational condition checking.
  In this table, '''A''' and '''B''' are the [[Expression|Expressions]] to compare. Both must represent
  In this table, '''A''' and '''B''' are the [[Expression|Expressions]] to compare. Both must represent
  the same general type, i.e. they must result into either numerical values
  the same general type, i.e. they must result into either numerical values

Revision as of 00:18, 12 December 2022

    Table 3: The operations available for relational condition checking.

 In this table, A and B are the Expressions to compare. Both must represent
 the same general type, i.e. they must result into either numerical values
 or STRING values. If a test succeeds, then true (-1) is returned, false (0)
     if it fails, which both can be used in further Boolean evaluations.
 ┌─────────────────────────────────────────────────────────────────────────┐
 │                          Relational Operations                          │
 ├────────────┬───────────────────────────────────────────┬────────────────┤
 │ OperationDescriptionExample usage  │
 ├────────────┼───────────────────────────────────────────┼────────────────┤
 │   A = B    │ Tests if A is equal to B.                 │ IF A = B THEN  │
 ├────────────┼───────────────────────────────────────────┼────────────────┤
 │   A <> B   │ Tests if A is not equal to B.             │ IF A <> B THEN │
 ├────────────┼───────────────────────────────────────────┼────────────────┤
 │   A < B    │ Tests if A is less than B.                │ IF A < B THEN  │
 ├────────────┼───────────────────────────────────────────┼────────────────┤
 │   A > B    │ Tests if A is greater than B.             │ IF A > B THEN  │
 ├────────────┼───────────────────────────────────────────┼────────────────┤
 │   A <= B   │ Tests if A is less than or equal to B.    │ IF A <= B THEN │
 ├────────────┼───────────────────────────────────────────┼────────────────┤
 │   A >= B   │ Tests if A is greater than or equal to B. │ IF A >= B THEN │
 └────────────┴───────────────────────────────────────────┴────────────────┘
   The operation should be very obvious for numerical values. For strings,
 the equal/not equal check is also pretty much straight forward, but for the
   less/greater checks the ASCII value of the first different character is
                           used for the decision:

 e.g. "abc" is less than "abd", because in the first difference (3rd char)
      the "c" has a lower ASCII value than the "d".

   This behavior may give you some subtle results, if you are not aware of
                   the ASCII values and the written case:

 e.g. "abc" is greater than "abD", because small letters have higher ASCII
      values than capital letters, hence "c" > "D". You may use either the
      LCASE$ or UCASE$ function to make sure both strings use the same case.