Recherche…


Introduction

Progress ABL prend en charge trois formats de nombres: les entiers et les flottants 32 et 64 bits.

Les opérateurs

Progress prend en charge les opérateurs + / - *. Ils ne peuvent pas être surchargés. Division renvoie toujours une décimale. Si l'un des nombres dans un calcul est une décimale, une décimale sera renvoyée. Sinon un INTEGER ou INT64 .

Il n'y a pas d'opérateur += ou ++ . Pour augmenter ou diminuer une variable, vous devez lui attribuer plus ou moins quelque chose. Donc, pour ajouter 1 à une variable que vous faites: i = i + 1.

DEFINE VARIABLE i AS INTEGER     NO-UNDO.
DEFINE VARIABLE j AS INTEGER     NO-UNDO.

i = 3.
j = 2.

DISPLAY i + j. // 3 + 2 = 5

DISPLAY i - j. // 3 - 2 = 1

DISPLAY i / j. // 3 / 2 = 1.5

DISPLAY INTEGER(i / j). //Integer(3/2) = 2.

DISPLAY i * j. //3 x 2 = 6

Plus de fonctions mathématiques

EXP - Renvoie le résultat de l'augmentation d'un nombre à une puissance.

EXP (base, exposant)

MESSAGE EXP(10, 2) VIEW-AS ALERT-BOX. // Messages 100

SQRT - Retourne la racine carrée d'un nombre.

SQRT (nombre)

MESSAGE "The square root of 256 is " SQRT(256) VIEW-AS ALERT-BOX. // Messages 16

MODULO - Détermine le reste après la division.

expression base MODULO

DISPLAY 52 MODULO 12. //Displays 4

ROUND - Arrondit une expression décimale à un nombre spécifié de lieux après le point décimal.

ROUND (nombre, précision)

DISPLAY ROUND(67.12345, 6) FORMAT "99.99999". // 67.12345
DISPLAY ROUND(67.12345, 5) FORMAT "99.99999". // 67.12345
DISPLAY ROUND(67.12345, 4) FORMAT "99.99999". // 67.12350
DISPLAY ROUND(67.12345, 3) FORMAT "99.99999". // 67.12300
DISPLAY ROUND(67.12345, 2) FORMAT "99.99999". // 67.12000
DISPLAY ROUND(67.12345, 1) FORMAT "99.99999". // 67.10000
DISPLAY ROUND(67.12345, 0) FORMAT "99.99999". // 67.00000

TRUNCATE Truncate une expression décimale à un nombre spécifié de décimales, renvoyant une valeur décimale.

TRUNCATE (nombre, lieux)

DISPLAY TRUNCATE(67.12345, 6) FORMAT "99.99999". // 67.12345
DISPLAY TRUNCATE(67.12345, 5) FORMAT "99.99999". // 67.12345
DISPLAY TRUNCATE(67.12345, 4) FORMAT "99.99999". // 67.12340
DISPLAY TRUNCATE(67.12345, 3) FORMAT "99.99999". // 67.12300
DISPLAY TRUNCATE(67.12345, 2) FORMAT "99.99999". // 67.12000
DISPLAY TRUNCATE(67.12345, 1) FORMAT "99.99999". // 67.10000
DISPLAY TRUNCATE(67.12345, 0) FORMAT "99.99999". // 67.00000

ABSOLUTE - Retourne la valeur absolue d'un nombre

DISPLAY ABS(10 - 12). //Displays 2
DISPLAY ABS(-2) = ABS(2). //Displays yes

MINIMUM et MAXIMUM - retourne le plus petit et le plus grand nombre

MINIMUM (number1, number2, ... numbern)

MAXIMUM (number1, number2, ... numbern)

DEFINE VARIABLE i AS INTEGER     NO-UNDO.
DEFINE VARIABLE j AS INTEGER     NO-UNDO.
DEFINE VARIABLE k AS INTEGER     NO-UNDO.

i = 40.
j = 45.
k = 56.

DISPLAY MINIMUM(i, j, k) MAXIMUM(i, j, k). // Displays 40 and 56

Comparaison des nombres

Il y a des fonctions standard intégrées pour comparer l'égalité, l'inégalité, etc.

prénom symbole Alternative Exemple
Égal = EQ i = j
Inégal <> NE i <> j
Moins que < LT i <j
inférieur ou égal <= LE i <= j
Plus grand que > = GT i> j
Meilleur que ou égal ≥ = GE i> = j

Le symbole peut être échangé avec l'alternative et vice versa. Donc var1 <> var2 est la même chose que var1 NE var2 .

Vous pouvez comparer un flottant à un entier, mais vous ne pouvez pas comparer, par exemple, une date avec un entier.

Générateur de nombres aléatoires

RANDOM - génère un nombre aléatoire

RANDOM (bas, haut)

Génère un entier pseudo-aléatoire entre bas et haut

// Example that generates 20 random numbers between 1 and 20 (1 and 20 included)
DEFINE VARIABLE i AS INTEGER     NO-UNDO.

DO i = 1 TO 20.
    DISPLAY i RANDOM(1, 20).
    PAUSE.
END.


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow