Arithmetikausdruck

Eine Sammlung von arithmetischen Funktionen und Operationen, die andere Zifferblätter Formatelemente zur Auflösung von Echtzeit-Attributwerten und gyroskopischen Bildern Effekte.

Mit Wear OS 4 eingeführt.

Beispiel

Ein Beispielausdruck zum Drehen eines Werts um bis zu 5 Grad in beide Richtungen, basierend auf dem Wert von $ x $ des Beschleunigungsmessers des Wear OS-Geräts:

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

Dies entspricht dem folgenden mathematischen Ausdruck, wobei $ \theta_x $ den Winkel des Beschleunigungsmessers in $ x $-Richtung darstellt:

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

Funktionen

Das Watch Face-Format erkennt die folgenden Stringwerte als Funktionen:

Funktion Beschreibung Rückgabetyp Verfügbarkeit
round() Wandelt den Eingabewert in einen Gleitkommawert um und führt dann round() mathematische Operation. Ganzzahl Version 1
floor() Führt die mathematische Standardoperation von floor() durch. Frei schwebend Version 1
ceil() Führt die mathematische Standardoperation von ceil() durch. Frei schwebend Version 1
fract() Gibt den Bruchteil des Eingabewerts zurück. also der Teil des Gleitkommawert, der rechts vom Dezimalzeichen angezeigt wird. Frei schwebend Version 1
sin() Führt den trigonometrischen Standardvorgang sin() aus. Frei schwebend Version 1
cos() Führt den trigonometrischen Standardvorgang cos() aus. Frei schwebend Version 1
tan() Führt den trigonometrischen Standardvorgang tan() aus. Frei schwebend Version 1
asin() Führt den trigonometrischen Standardvorgang asin() aus. Die zurückgegebene liegt immer im Bereich $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. Frei schwebend Version 1
acos() Führt den trigonometrischen Standardvorgang acos() aus. Die zurückgegebene Wert liegt immer im Bereich $ [0.0, \pi] $. Frei schwebend Version 1
atan() Führt den trigonometrischen Standardvorgang atan() aus. Die zurückgegebene liegt immer im Bereich $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. Frei schwebend Version 1
abs() Wandelt den Eingabewert in einen Gleitkommawert um und führt dann abs() mathematische Operation. Frei schwebend Version 1
clamp(,,) Wandelt die Eingabewerte in Gleitkommawerte um und führt dann clamp() Jetpack-Vorgang, der zum ersten Wert in dem durch den zweiten und dritten Wert. Frei schwebend Version 1
rand(,) Generiert einen zufälligen Gleitkommawert, der die folgenden Bedingungen erfüllt gleichzeitig: <ph type="x-smartling-placeholder">
    </ph>
  • Größer als oder gleich dem ersten Wert.
  • Kleiner oder gleich dem zweiten Wert.
Es wird davon ausgegangen, dass der erste Wert kleiner oder gleich dem zweiten Wert ist.
Frei schwebend Version 1
log() Führt die standardmäßige mathematische Operation zur Basis-$-e $ log() durch. Frei schwebend Version 1
log2() Simuliert einen Logarithmus zur Basis 2. Dieser Wert wird berechnet, indem die Basis 10 geteilt wird log() des Eingabewerts) durch den Logarithmus zur Basis 10 von 2 €. Frei schwebend Version 1
log10() Führt die mathematische Standardoperation log() zur Basis 10 durch. Frei schwebend Version 1
sqrt() Führt die mathematische Standardoperation von sqrt() durch. Frei schwebend Version 1
cbrt() Führt die mathematische Standardoperation von cbrt() durch. Frei schwebend Version 1
exp() Führt die mathematische Standardoperation von exp() durch. Frei schwebend Version 1
expm1() Ruft die mathematische Operation expm1() direkt auf, wenn der Eingabewert ist 1 €. Bei jedem anderen Eingabewert wird die Funktion durch Ausführen der standardmäßige mathematische exp()-Operation durch Subtrahieren von 1 berechnen. Frei schwebend Version 1
deg() Führt die mathematische Standardoperation von toDegrees() durch. $ \frac{\pi}{2} $ ist als 90 Grad definiert und $ \pi $ ist als 180 Grad definiert Grad. Frei schwebend Version 1
rad() Führt die mathematische Standardoperation von toRadians() durch. 90 Grad ist definiert als $ \frac{\pi}{2} $ und 180 Grad als $ \pi $. Frei schwebend Version 1
pow(,) Führt die mathematische Standardoperation von pow() durch. Der Ausgabewert immer eine Gleitkommazahl ist. Frei schwebend Version 1
numberFormat(,) Wendet das Zahlenformat vom ersten Wert auf den zweiten Wert an. Der erste Wert kann die folgenden Zeichen enthalten: <ph type="x-smartling-placeholder">
    </ph>
  • # stellt eine numerische Ziffer dar.
  • ,: steht für ein Komma als Trennzeichen in großen Zahlen.
  • . stellt einen Dezimalpunkt dar.
String Version 1
icuText()

Wandelt den Eingabestring für das Datumsformat in ein Muster um, das dem erwarteten Sprachformat entspricht. Wenn das übergeordnete PartText-Element Localization-Element enthält, wird das Format dieser Sprache verwendet. Andernfalls wird die Methode Die aktuelle Sprache des Wear OS-Geräts.

Wenn das Gerät beispielsweise in den USA verwendet wird, wird ein Eingabewert von EE, MMM d, yyyy h:mm a liefert die folgende Ausgabe: Tue, Mar 14, 2023 1:59 PM

String Version 1
icuText(,)

Wandelt den Eingabedatumsformatstring des ersten Arguments in ein Muster um, das dem erwarteten Sprachformat entspricht. Das zweite Argument ist ein Zeitstempel-String in Millisekunden.

Wenn das übergeordnete PartText-Element Localization-Element enthält, wird das Format dieser Sprache verwendet. Andernfalls wird die Methode Die aktuelle Sprache des Wear OS-Geräts.

String Version 2
icuBestText()

Wandelt den Eingabedatumsformatstring in die aktuelle Zeit um, deren Muster dem erwarteten Format entspricht. Wenn das übergeordnete PartText-Element Localization-Element enthält, wird das Format dieser Sprache verwendet. Andernfalls wird die Methode Die aktuelle Sprache des Wear OS-Geräts.

Beispiel: Wenn das Gerät am 14. März 2023 in den USA verwendet wird um 13:59 Uhr liefert der Eingabewert yyyy MMM d EE a h:mm Folgendes: Ausgabe: Tue, Mar 14, 2023, 1:59 PM

String Version 1
icuBestText(,)

Wandelt den Eingabedatumsformatstring des ersten Arguments in die aktuelle Zeit um, deren Muster mit dem erwarteten Format übereinstimmt. Das zweite Argument ist ein Zeitstempel-String in Millisekunden.

Wenn das übergeordnete PartText-Element Localization-Element enthält, wird das Format dieser Sprache verwendet. Andernfalls wird die Methode Die aktuelle Sprache des Wear OS-Geräts.

String Version 2
subText(,,)

Extrahiert einen Teilstring aus dem ersten Wert. Der zweite Wert gibt an, 0-basierter Index in den ersten Wert, bei dem die Teilzeichenfolge beginnen soll. Die dritte value gibt den 0-basierten Index im ersten Wert an, wobei die Teilzeichenfolge sollte die Extraktion gestoppt werden ("vom zweiten Wert bis zum dritter Wert").

Beispiele: <ph type="x-smartling-placeholder">
    </ph>
  • subText("abc def", 2, 5) ist c d
  • subText("abc def", 2, 7) ist c def
String Version 1
textLength()

Berechnet die Länge des Eingabestrings.

Beispiele: <ph type="x-smartling-placeholder">
    </ph>
  • textLength("") ist 0
  • textLength("abcdef") ist 6
String Version 1

Netzbetreiber

Das Watch Face-Format erkennt die folgenden Stringwerte als Operatoren:

+
Unäres Plus oder Addition mehrerer Werte. Unterstützt sowohl Ganzzahlen als auch Gleitkommawerten berechnet werden.
-
Unäres Minus oder Subtraktion mehrerer Werte Unterstützt sowohl Ganzzahlen als auch Gleitkommawerten berechnet werden.
*
Multiplikation mehrerer ganzzahliger oder Gleitkommawerte
/

Teilung von 2 Ganz- oder Gleitkommawerten.

Wenn die Division von 2 ganzen Zahlen zu einem Wert führt, der keine ganze Zahl ist, wird der Dezimalwert wie folgt berechnet: im Gleitkommaergebnis erhalten bleiben. Beispiel: $ \frac{1}{2} = 0, 5 $.

Darüber hinaus wird der Ausdruck $ \frac{x}{0} $ als 0 ausgewertet, wobei $ x $ ist eine beliebige Ganzzahl.

%

Modulare Division aus 2 Ganz- oder Gleitkommawerten.

Wenn beide Operanden ganze Zahlen sind, ist das Ergebnis der Rest der Division von 2 Werte. Beispiel: $ 19 \bmod 7 = 5 $.

Wenn mindestens ein Operand eine Gleitkommazahl ist, ist das Ergebnis eine Gleitkomma-Äquivalent des Rests; Beispiel: $ 19,0 \bmod 7 = 5,0 $.

~

Bitweises „Nicht“ . Einige Beispiele:

  • ~1 kostet -2 $
  • ~0: -1 $
!

Logisches „Nicht“ der doppelte negative Werte unterstützt. Einige Beispiele:

  • !2 $ ist false
  • $ !!0 $ ist true
|

Bitweises "oder" . Unterstützt mehr als zwei Eingabewerte. Einige Beispiele:

  • 1 € | 0 = 1 $
  • 1 € | 2 | 4 = 7 €
||
Logisches "oder"
&
Bitweises "und" . Unterstützt genau 2 Eingabewerte.
&&
Logisches „und“
(
Klammer öffnen. Wird zum Ändern der Standardreihenfolge von Vorgängen verwendet, wobei normalerweise Vorrang vor Addition und Division Subtraktion.
)
Geschlossene Klammer. Wird zum Ändern der Standardreihenfolge von Vorgängen verwendet, wobei normalerweise Vorrang vor Addition und Division Subtraktion.
<
Das „Kleiner als“ Vergleichsoperator. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommazahl ist, lautet das Ergebnis false.
<=
Der Wert „kleiner als oder gleich“ Vergleichsoperator. Beim Vergleich einer Ganzzahl mit seinem Gleitkommawert hat, lautet das Ergebnis true.
>
Das „Größer als“ Vergleichsoperator. Beim Vergleich eines ganzzahligen Werts mit Gleitkommazahl ist, lautet das Ergebnis false.
>=
„größer als oder gleich“ Vergleichsoperator. Beim Vergleich einer Ganzzahl mit seinem Gleitkommawert hat, lautet das Ergebnis true.
? und :

Bietet Unterstützung für ternäre Operationen. Das allgemeine Format lautet wie folgt:

condition ? value_if_true : value_if_false

Unterstützt verschachtelte ternäre Operationen mit Klammern.

,

Trennt Werte in Funktionen, die mehr als ein Argument annehmen.

"

Wenn es am Anfang und am Ende eines Werts steht, bedeutet dies, dass die Der Wert im Face Format sollte als String interpretiert werden.

==

Gleichheitshalber vergleichen. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommawert ist das Ergebnis true.

!=

Gleichheit auf Ungleichheit hin vergleichen. Beim Vergleich einer Ganzzahl mit ihrem Gleitkommazahl ist, lautet das Ergebnis false.