Wyrażenie arytmetyczne

Zbiór funkcji arytmetycznych i operacji arytmetycznych, które inne funkcje Formatuj elementy służące do wskazywania wartości atrybutów w czasie rzeczywistym i żyroskopowych efekty.

Wprowadzona w Wear OS 4.

Przykład

Przykładowe wyrażenie obracania wartości o maksymalnie 5 stopni w dowolnym kierunku na podstawie wartości akcelerometru urządzenia z Wear OS o wartości $ x $:

(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)

...odpowiada poniższemu wyrażeniu matematycznemu, gdzie $ \theta_x $ reprezentuje kąt akcelerometru w kierunku $ x $:

$$ \frac{5}{90} * max(min(\theta_x, 90), -90) $$

Funkcje

Format tarczy zegarka rozpoznaje te wartości ciągów jako funkcje:

Funkcja Opis Typ zwrotu Dostępność
round() Konwertuje wartość wejściową na wartość zmiennoprzecinkową, a następnie wykonuje standardowy round(). Liczba całkowita Wersja 1
floor() Wykonuje standardowe działanie matematyczne floor(). Pływające Wersja 1
ceil() Wykonuje standardowe działanie matematyczne ceil(). Pływające Wersja 1
fract() Zwraca ułamkową część wartości wejściowej; czyli część wartość zmiennoprzecinkową, która jest wyświetlana po prawej stronie przecinka dziesiętnego. Pływające Wersja 1
sin() Wykonuje standardową operację trygonometryczną sin(). Pływające Wersja 1
cos() Wykonuje standardową operację trygonometryczną cos(). Pływające Wersja 1
tan() Wykonuje standardową operację trygonometryczną tan(). Pływające Wersja 1
asin() Wykonuje standardową operację trygonometryczną asin(). Zwrócone wartości wartość mieści się zawsze w zakresie $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. Pływające Wersja 1
acos() Wykonuje standardową operację trygonometryczną acos(). Zwrócone wartości zawsze mieści się w zakresie $ [0,0, \pi] $. Pływające Wersja 1
atan() Wykonuje standardową operację trygonometryczną atan(). Zwrócone wartości wartość mieści się zawsze w zakresie $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. Pływające Wersja 1
abs() Konwertuje wartość wejściową na wartość zmiennoprzecinkową, a następnie wykonuje standardowy abs(). Pływające Wersja 1
clamp(,,) Konwertuje wartości wejściowe na wartości zmiennoprzecinkowe, a następnie wykonuje clamp() Działanie Jetpacka, aby dopasować je do pierwszej wartości w zakresie określonym przez drugą i trzecią wartość. Pływające Wersja 1
rand(,) Generuje losową wartość zmiennoprzecinkową, która spełnia te warunki jednocześnie:
  • Większe lub równe pierwszej wartości.
  • Mniejsze lub równe drugiej wartości.
. Zakładamy, że pierwsza wartość jest mniejsza lub równa drugiej wartości.
Pływające Wersja 1
log() Wykonuje standardowe działanie matematyczne base-$ e $ log(). Pływające Wersja 1
log2() Symuluje logarytm o podstawie 2. Tę wartość oblicza się, dzieląc liczbę dziesiętną. log() wartości wejściowej) przez logarytm dziesiętny równy 2 USD. Pływające Wersja 1
log10() Wykonuje standardowe działanie matematyczne log() o podstawie 10. Pływające Wersja 1
sqrt() Wykonuje standardowe działanie matematyczne sqrt(). Pływające Wersja 1
cbrt() Wykonuje standardowe działanie matematyczne cbrt(). Pływające Wersja 1
exp() Wykonuje standardowe działanie matematyczne exp(). Pływające Wersja 1
expm1() Wywołuje bezpośrednio działanie matematyczne expm1(), jeśli wartość wejściowa wynosi 1 USD. W przypadku każdej innej wartości wejściowej symuluje funkcję, wykonując standardowe działanie matematyczne exp(), a następnie odejmując 1. Pływające Wersja 1
deg() Wykonuje standardowe działanie matematyczne toDegrees(). $ \frac{\pi}{2} $ jest zdefiniowane jako 90 stopni, a $ \pi $ – 180 stopni stopni. Pływające Wersja 1
rad() Wykonuje standardowe działanie matematyczne toRadians(). 90 stopni jest zdefiniowane jako $ \frac{\pi}{2} $, a 180 stopni jest zdefiniowane jako $ \pi $. Pływające Wersja 1
pow(,) Wykonuje standardowe działanie matematyczne pow(). Wartość wyjściowa jest zawsze liczbą zmiennoprzecinkową. Pływające Wersja 1
numberFormat(,) Stosuje format liczb z pierwszej wartości do drugiej. Pierwsza wartość może zawierać te znaki:
  • # – reprezentuje cyfrę.
  • , – reprezentuje separator przecinków w dużych liczbach.
  • . – oznacza separator dziesiętny.
Ciąg znaków Wersja 1
icuText()

Konwertuje wejściowy ciąg formatu daty na wzorzec zgodny z oczekiwanym formatem języka. Jeśli nadrzędny element PartText zawiera element Localization, używany jest format tego języka. W przeciwnym razie używa metody Aktualne ustawienia regionalne urządzenia z Wear OS.

Jeśli na przykład urządzenie jest używane w Stanach Zjednoczonych, wejściowa wartość funkcji EE, MMM d, yyyy h:mm a zwraca następujące dane wyjściowe: Tue, Mar 14, 2023 1:59 PM

Ciąg znaków Wersja 1
icuText(,)

Konwertuje pierwszy argument ciąg tekstowy formatu daty na wzorzec zgodny z oczekiwanym formatem języka. Drugi argument to ciąg sygnatury czasowej w milisekundach.

Jeśli nadrzędny element PartText zawiera element Localization, używany jest format tego języka. W przeciwnym razie używa metody Aktualne ustawienia regionalne urządzenia z Wear OS.

Ciąg znaków Wersja 2
icuBestText()

Konwertuje wejściowy format daty na bieżący format daty, którego wzór jest zgodny z oczekiwanym formatem. Jeśli nadrzędny element PartText zawiera element Localization, używany jest format tego języka. W przeciwnym razie używa metody Aktualne ustawienia regionalne urządzenia z Wear OS.

Na przykład jeśli urządzenie będzie używane w Stanach Zjednoczonych 14 marca 2023 roku o 13:59 wartość wejściowa yyyy MMM d EE a h:mm daje następujący wynik dane wyjściowe: Tue, Mar 14, 2023, 1:59 PM

Ciąg znaków Wersja 1
icuBestText(,)

Konwertuje pierwszy argument wejściowy ciąg formatu daty na bieżący czas, którego wzór jest zgodny z oczekiwanym formatem. Drugi argument to ciąg sygnatury czasowej w milisekundach.

Jeśli nadrzędny element PartText zawiera element Localization, używany jest format tego języka. W przeciwnym razie używa metody Aktualne ustawienia regionalne urządzenia z Wear OS.

Ciąg znaków Wersja 2
subText(,,)

Wyodrębnia podłańcuch z pierwszej wartości. Druga wartość wskazuje indeksu od 0 do pierwszej wartości, od której powinien zaczynać się podłańcuch. Trzecia wartość wskazuje indeks od 0 do pierwszej wartości, gdzie podłańcuch wyodrębnianie powinno zostać zatrzymane („od drugiej wartości do włącznie z trzecia wartość”).

Przykłady:
  • Wydarzenie subText("abc def", 2, 5) zacznie się c d
  • Wydarzenie subText("abc def", 2, 7) zacznie się c def
Ciąg znaków Wersja 1
textLength()

Oblicza długość ciągu wejściowego.

Przykłady:
  • Wydarzenie textLength("") zacznie się 0
  • Wydarzenie textLength("abcdef") zacznie się 6
Ciąg znaków Wersja 1

Operatorzy

Format tarczy zegarka rozpoznaje jako operatory te wartości ciągów:

+
Jednoargumentowy operator plus lub dodanie kilku wartości. Obsługuje zarówno liczby całkowite, jak i wartości zmiennoprzecinkowych.
-
Jednoargumentowy minus lub odejmowanie wielu wartości. Obsługuje zarówno liczby całkowite, jak i wartości zmiennoprzecinkowych.
*
Mnożenie wielu wartości całkowitych lub zmiennoprzecinkowych.
/

Podział 2 wartości całkowitych lub zmiennoprzecinkowych.

Jeśli podzielenie dwóch liczb całkowitych daje wartość niebędącą liczbą całkowitą, część dziesiętna jest w wyniku zmiennoprzecinkowym. Na przykład $ \frac{1}{2} = 0.5 $.

Dodatkowo wyrażenie $ \frac{x}{0} $ jest obliczane jako 0, gdzie $ x $ jest dowolną liczbą całkowitą.

%

Modułowy dzielenie 2 wartości całkowitych lub zmiennoprzecinkowych.

Jeśli oba operandy są liczbami całkowitymi, wynik to reszta z dzielenia 2 . Na przykład 19 PLN \bmod 7 = 5 USD.

Jeśli co najmniej 1 operand jest liczbą zmiennoprzecinkową, wynikiem jest ekwiwalent zmiennoprzecinkowy reszty; na przykład: 19.0 USD \bmod 7 = 5.0 USD.

~

Bitowa „nie” . Kilka przykładów:

  • ~1 kosztuje -2 USD
  • ~0 kosztuje -1 USD
!

Logiczne „nie” , który obsługuje podwójne wartości ujemne. Kilka przykładów:

  • !2 USD wynosi false
  • $ !!0 $ to true
|

Bitowa „lub” . Obsługuje więcej niż 2 wartości wejściowe. Kilka przykładów:

  • 1 PLN | 0 = 1 USD
  • 1 PLN | 2 | 4 = 7 PLN
||
Logiczne „lub” .
&
bity „i” . Obsługuje dokładnie 2 wartości wejściowe.
&&
Logiczne „i” .
(
Nawias otwierający. Służy do zmiany standardowej kolejności działań, gdzie mnożenie i dzielenie mają zwykle pierwszeństwo przed dodawaniem i dzieleniem odejmowania.
)
Nawias zamknięty. Służy do zmiany standardowej kolejności działań, gdzie mnożenie i dzielenie mają zwykle pierwszeństwo przed dodawaniem i dzieleniem odejmowania.
<
Funkcja „mniej niż” operatora porównania. Podczas porównywania wartości całkowitej z jej odpowiednik w postaci zmiennoprzecinkowej, wynik to false.
<=
Wartość „mniejsze lub równe” operatora porównania. Podczas porównywania liczby całkowitej jako odpowiednik w postaci zmiennoprzecinkowej, wynik to true.
>
Większe niż operatora porównania. Podczas porównywania wartości całkowitej z jego odpowiednika w postaci zmiennoprzecinkowej, wynik to false.
>=
Wartość „większe niż lub równe” operatora porównania. Podczas porównywania liczby całkowitej jako odpowiednik w postaci zmiennoprzecinkowej, wynik to true.
?:

Zapewnia obsługę operacji trójwartościowych. Ogólny format jest następujący:

condition ? value_if_true : value_if_false

Obsługuje zagnieżdżone operacje potrójne za pomocą nawiasów.

,

Rozdziela wartości w funkcjach, które przyjmują więcej niż 1 argument.

"

Umieszczenie na początku i końcu wartości wskazuje, że element Watch Format twarzy powinien interpretować wartość jako ciąg znaków.

==

Porównaj pod kątem równości. Podczas porównywania wartości całkowitej z jej zmiennoprzecinkową odpowiednik, wynik to true.

!=

Porównaj pod kątem nierówności. Podczas porównywania wartości całkowitej z jej odpowiednik w postaci zmiennoprzecinkowej, wynik to false.

.
. .