Поиск…


Вступление

Progress ABL поддерживает три формата чисел: 32 и 64-битные целые числа и поплавки.

операторы

Прогресс поддерживает + / - * в качестве операторов. Они не могут быть перегружены. Отдел всегда возвращает десятичное число. Если любое из чисел в вычислении является десятичным, будет возвращено десятичное число. В противном случае INTEGER или INT64 .

Нет оператора += или ++ . Чтобы увеличить или уменьшить переменную, вы должны назначить ее себе плюс или минус. Итак, добавьте 1 к переменной, которую вы делаете: 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

Более математические функции

EXP - возвращает результат подведения числа к мощности.

EXP (базовый, экспоненциальный)

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

SQRT - возвращает квадратный корень из числа.

SQRT (число)

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

MODULO - определяет остаток после деления.

выражение MODULO base

DISPLAY 52 MODULO 12. //Displays 4

ROUND - округляет десятичное выражение до указанного количества мест после десятичной точки.

КРУГЛЫЙ (число, точность)

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 (число, места)

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 - возвращает абсолютное значение числа

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

MINIMUM и MAXIMUM - возвращает малые и наибольшие числа

MINIMUM (число1, число2, ... числоn)

MAXIMUM (число1, номер2, ... числоn)

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

Сравнение номеров

Существуют стандартные функции для сравнения равенства, неравенства и т. Д.

название Условное обозначение альтернатива пример
равных знак равно EQ i = j
Не равный <> Небраска i <> j
Меньше, чем < LT i <j
меньше или равно <= LE i <= j
Лучше чем > = GT i> j
Больше или равно ≥ = GE i> = j

Символ можно обменять с альтернативой и наоборот. Итак var1 <> var2 - это то же самое, что и var1 NE var2 .

Вы можете сравнить float с целым числом, но вы не можете сравнить, например, дату с целым числом.

Генератор случайных чисел

RANDOM - генерирует случайное число

СЛУЧАЙНО (низкий, высокий)

Генерирует псевдослучайное целое число между низким и высоким

// 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow