Comparison

Opérateur

Syntaxe

Compare deux valeurs : égal, différent, inférieur, supérieur, inférieur ou égal, supérieur ou égal. Les nombres se comparent par valeur, le texte par codes de caractères.

<a> = <b>
<a> <> <b>
<a> < <b>
<a> > <b>
<a> <= <b>
<a> >= <b>
<a> == <b>
<a> != <b>

S’écrit aussi : =, <>, <, >, <=, >=

Les éléments

<a>Un nombre ou une chaîne.
<b>Une valeur de même nature. Une chaîne n'est jamais égale à un nombre.

À savoir

  • Dans IF, WHILE et UNTIL, une comparaison est simplement vraie ou fausse. Rangée dans une variable, elle vaut 1 ou 0. Passée directement à une commande, elle vaut TRUE ou FALSE : Console(Str(a > 3)) affiche true.
  • À droite d'une affectation, = compare : same = (a = 5) ne modifie pas a. Les parenthèses sont facultatives, mais plus claires.
  • Entre les parenthèses d'un appel de commande, = affecte : Console(Str(a = 1)) met a à 1, sans rien signaler. Comparez d'abord dans une variable ou dans un IF.
  • = et <> sont stricts : "5" n'est pas 5. Convertissez d'abord avec Val() ou Str(). == et != sont acceptés mais comparent de façon lâche, en convertissant texte et nombres ; préférez = et <>.
  • Le texte se compare dans l'ordre des codes de caractères, donc la casse compte : "B" < "a" est vrai, et "apple" <> "Apple".
  • Les décimaux se comparent exactement : 0.1 + 0.2 = 0.3 est faux. Comparez l'écart avec Abs() à une petite marge.
  • 1 < x < 5 signifie (1 < x) < 5, toujours vrai. Écrivez x > 1 AND x < 5.
  • Les graphies inversées d'autres BASIC, =<, => et ><, se compilent mais le programme ne démarre pas. Écrivez <=, >= et <>.

Exemple

a = 5same = (a = 5)differ = (a <> 5)Console(Str(same) + " " + Str(differ))   ' 1 0loose = ("5" = 5)Console(Str(loose))   ' 0IF a >= 5 THEN Console("five or more")   ' five or more
Dans le manuel : Constantes et opérateurs

Commandes associées