Template:RelationalOperationsPlugin: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
m (Protected "Template:RelationalOperationsPlugin" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
No edit summary
Line 2: Line 2:
     In this table, '''A''' and '''B''' are the values to compare. Both must be of the
     In this table, '''A''' and '''B''' are the values to compare. Both must be of the
       same general type, i.e. either numerical values or [[STRING]] values.
       same general type, i.e. either numerical values or [[STRING]] values.
True tests return '''-1''', false tests '''0''' which can be used in [[Boolean]] evaluations.
  ┌─────────────────────────────────────────────────────────────────────────┐
  ┌─────────────────────────────────────────────────────────────────────────┐
  │                          '''[[Relational Operations]]'''                          │
  │                          '''[[Relational Operations]]'''                          │

Revision as of 21:34, 27 November 2022

    In this table, A and B are the values to compare. Both must be of the
      same general type, i.e. either numerical values or STRING values.
True tests return -1, false tests 0 which can be used in 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.