Suche…


Einführung

Fortschritt ABL unterstützt drei Zahlenformate: 32- und 64-Bit-Ganzzahlen und Floats.

Operatoren

Progress unterstützt + / - * als Operatoren. Sie können nicht überladen werden. Division gibt immer eine Dezimalzahl zurück. Wenn eine der Zahlen in einer Berechnung eine Dezimalzahl ist, wird eine Dezimalzahl zurückgegeben. Ansonsten ein INTEGER oder INT64 .

Es gibt keinen += oder ++ Operator. Um eine Variable zu vergrößern oder zu verkleinern, müssen Sie sie sich plus oder minus etwas zuordnen. So fügen Sie einer Variablen 1 hinzu: 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

Weitere mathematische Funktionen

EXP - Gibt das Ergebnis der Erhöhung einer Zahl in Potenz zurück.

EXP (Basis, Exponent)

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

SQRT - Gibt die Quadratwurzel einer Zahl zurück.

SQRT (Nummer)

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

MODULO - Bestimmt den Rest nach der Division.

Ausdruck MODULO-Basis

DISPLAY 52 MODULO 12. //Displays 4

ROUND - Rundet einen Dezimalausdruck auf eine bestimmte Anzahl von Nachkommastellen.

RUNDE (Anzahl, Präzision)

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 Schneidet einen Dezimalausdruck auf eine bestimmte Anzahl von Dezimalstellen ab und gibt einen Dezimalwert zurück.

TRUNCATE (Anzahl, Orte)

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 - Gibt den absoluten Wert einer Zahl zurück

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

MINIMUM und MAXIMUM - liefert die kleinste und größte Zahl

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

Zahlen vergleichen

Es gibt Standardfunktionen zum Vergleich von Gleichheit, Ungleichheit usw.

Name Symbol Alternative Beispiel
Gleich = EQ i = j
Nicht gleich <> NE ich <> j
Weniger als < LT ich <j
weniger als oder gleich <= LE i <= j
Größer als > = GT i> j
Größer als oder gleich ≥ = GE i> = j

Das Symbol kann mit der Alternative ausgetauscht werden und umgekehrt. var1 <> var2 ist also dasselbe wie var1 NE var2 .

Sie können einen Float mit einer Ganzzahl vergleichen, aber Sie können beispielsweise kein Datum mit einer Ganzzahl vergleichen.

Zufallszahlengenerator

RANDOM - generiert eine Zufallszahl

RANDOM (niedrig, hoch)

Erzeugt eine Pseudo-Zufallszahl zwischen niedrig und hoch

// 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow