TapHome

Zaokrąglanie i liczby losowe

Funkcje skryptowe TapHome do zaokrąglania i liczb losowych — ROUND, CEIL i FLOOR z wielokrotnością, RAND i RANDINT.

Funkcje, które zaokrąglają liczbę albo tworzą liczbę losową. Wszystkie zwracają double. Pozostałe funkcje arytmetyczne są na stronie Funkcje matematyczne.

ROUND

ROUND zaokrągla liczbę do najbliższej liczby całkowitej; połówka jest zaokrąglana od zera (2.5 do 3, -2.5 do -3).

1
ROUND(number)

Uwagi — ROUND nie ma argumentu dla liczby miejsc po przecinku. Aby zaokrąglić do jednego miejsca po przecinku, pomnóż przez 10, zaokrąglij i podziel przez 10; dla dwóch miejsc użyj 100.

Przykład

ROUND(2.49);
# Result: 2
ROUND(2.5);
# Result: 3
ROUND(-2.5);
# Result: -3
ROUND(21.46 * 10) / 10;
# Result: 21.5

CEIL

CEIL zaokrągla liczbę w górę do następnej liczby całkowitej albo, gdy podano significance, do następnej wielokrotności tej wartości.

1
2
CEIL(number)
CEIL(number, significance)

Parametry

NazwaTypOpis
numberliczbaZaokrąglana wartość.
significanceliczba, opcjonalnaWielokrotność, do której się zaokrągla, na przykład 0.5 lub 5. Domyślnie 1. Nie może być 0 i nie może być ujemna, gdy number jest dodatnia.

Uwagi — Przy dodatniej significance wynik przesuwa się w stronę plus nieskończoności, więc liczba ujemna przesuwa się w stronę zera (CEIL(-22.25, 1) daje -22). Przy ujemnej significance liczba ujemna przesuwa się od zera (CEIL(-22.25, -1) daje -23).

Przykład

WywołanieWynik
CEIL(22.25)23
CEIL(22.25, 0.5)22.5
CEIL(22.25, 5)25
CEIL(-22.25)-22
CEIL(-22.25, -1)-23
CEIL(-22.25, -5)-25

Błędy — Significance cannot be 0.; Significance cannot be negative value if a number is a positive value.

FLOOR

FLOOR zaokrągla liczbę w dół do poprzedniej liczby całkowitej albo, gdy podano significance, do poprzedniej wielokrotności tej wartości.

1
2
FLOOR(number)
FLOOR(number, significance)

Parametry i Błędy są takie same jak dla CEIL.

Uwagi — Przy dodatniej significance wynik przesuwa się w stronę minus nieskończoności, więc liczba ujemna przesuwa się od zera (FLOOR(-22.25, 1) daje -23). Przy ujemnej significance liczba ujemna przesuwa się w stronę zera (FLOOR(-22.25, -1) daje -22).

Przykład

WywołanieWynik
FLOOR(22.25)22
FLOOR(22.25, 0.5)22
FLOOR(17, 5)15
FLOOR(-22.25)-23
FLOOR(-22.25, -1)-22
FLOOR(-22.25, -5)-20

Dzielenie całkowite, na przykład liczba dni z sekund:

VAR uptime := 200000;
FLOOR(uptime / 86400);
# Result: 2

RAND

RAND zwraca liczbę losową od 0 do 1, bez 1; każde wywołanie daje nową wartość.

1
RAND()

Przykład

RAND() * 100;
# Result: a random number from 0 to just below 100

RANDINT

RANDINT zwraca losową liczbę całkowitą od min do max, bez max.

1
RANDINT(min, max)

Zwraca — double zawierający liczbę całkowitą. Dla obu granic używaj liczb całkowitych: przy dziesiętnym min wynik może być mniejszy niż min.

Przykład

RANDINT(1, 7);
# Result: 1, 2, 3, 4, 5 or 6