ArithmeticExpression

算術関数と算術演算のコレクションです。他の Watch Face Format 要素で、リアルタイムの属性値とジャイロ効果を分析するために使用されます。

Wear OS 4 から導入されました。

以下は Wear OS デバイスの加速度計の $ x $ 値に基づいて、いずれかの方向に値を最大 5 度回転する式の例です。

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

この式は次の数式と同じです。ここで $ \theta_x $ は、$ x $ 方向の加速度計角度を表します。

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

関数

Watch Face Format は、次の文字列値を関数として認識します。

関数 説明 戻り値の型 対象
round() 入力値を浮動小数点値に変換してから、標準の round() 算術演算。 整数 バージョン 1
floor() 標準の floor() 算術演算を実行します。 Float バージョン 1
ceil() 標準の ceil() 算術演算を実行します。 Float バージョン 1
fract() 入力値の小数部を返します。つまり Pod の 表示されます。 Float バージョン 1
sin() 標準の sin() 三角演算を実行します。 Float バージョン 1
cos() 標準の cos() 三角演算を実行します。 Float バージョン 1
tan() 標準の tan() 三角演算を実行します。 Float バージョン 1
asin() 標準の asin() 三角演算を実行します。返される 値は常に $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ の範囲内となります。 Float バージョン 1
acos() 標準の acos() 三角演算を実行します。返される 常に $ [0.0, \pi] $ の範囲内となります。 Float バージョン 1
atan() 標準の atan() 三角演算を実行します。返される 値は常に $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ の範囲内となります。 Float バージョン 1
abs() 入力値を浮動小数点値に変換してから、標準の abs() 算術演算。 Float バージョン 1
clamp(,,) 入力値を浮動小数点値に変換してから、 clamp() で定義された範囲の最初の値を適合させる Jetpack 演算 2 つめと 3 つ目の値になります Float バージョン 1
rand(,) 次の条件を満たすランダムな浮動小数点値を生成します 併用できます。 <ph type="x-smartling-placeholder">
    </ph>
  • 1 つ目の値以上
  • 2 つ目の値以下
で確認できます。 1 つ目の値は 2 つ目の値以下であることを前提としています。
Float バージョン 1
log() 標準の $ e $ を底とする log() 算術演算を実行します。 Float バージョン 1
log2() 2 を底とする対数をシミュレートします。この値は 10 を底とする (入力値の log())を $ 2 $ の 10 を底とする対数で計算します。 Float バージョン 1
log10() 標準の 10 を底とする log() 算術演算を実行します。 Float バージョン 1
sqrt() 標準の sqrt() 算術演算を実行します。 Float バージョン 1
cbrt() 標準の cbrt() 算術演算を実行します。 Float バージョン 1
exp() 標準の exp() 算術演算を実行します。 Float バージョン 1
expm1() 入力値が 0 の場合は expm1() 算術演算を直接呼び出します。 1 ドルです。その他の入力値については、次を実行して関数をシミュレートします。 標準の exp() 算術演算を行って 1 を引きます。 Float バージョン 1
deg() 標準の toDegrees() 算術演算を実行します。 $ \frac{\pi}{2} $ は 90 度、$ \pi $ は 180 度と定義されます。 度。 Float バージョン 1
rad() 標準の toRadians() 算術演算を実行します。90 度 180 度は $ \frac{\pi}{2} $、180 度は $ \pi $ と定義されます。 Float バージョン 1
pow(,) 標準の pow() 算術演算を実行します。出力値 は常に浮動小数点数です。 Float バージョン 1
numberFormat(,) 1 つ目の値の数値形式を 2 つ目の値に適用します。最初の値には次の文字を含めることができます。 <ph type="x-smartling-placeholder">
    </ph>
  • # -- 数字を表します。
  • , -- 桁の大きい数値のカンマ区切りを表します。
  • . -- 小数点を表します。
文字列 バージョン 1
icuText()

入力日付形式文字列を、想定される言語 / 地域形式に一致するパターンに変換します。親 PartText 要素に Localization 要素が含まれている場合、その「言語 / 地域」形式が使用されます。それ以外の場合は、Wear OS デバイスで設定されている「言語 / 地域」を使用します。

たとえば、デバイスが米国で使用されている場合、 EE, MMM d, yyyy h:mm a の場合、次の出力が生成されます。 Tue, Mar 14, 2023 1:59 PM

文字列 バージョン 1
icuText(,)

最初の引数の入力日付形式文字列を、想定される言語 / 地域形式に一致するパターンに変換します。2 番目の引数はミリ秒単位のタイムスタンプ文字列です。

PartText 要素に Localization 要素で、その言語 / 地域の形式が使用されます。それ以外の場合は、Wear OS デバイスで設定されている「言語 / 地域」を使用します。

文字列 バージョン 2
icuBestText()

入力日付形式文字列を、想定される形式に一致するパターンを持つ現在の時刻に変換します。親 PartText 要素に Localization 要素が含まれている場合、その「言語 / 地域」形式が使用されます。それ以外の場合は、Wear OS デバイスで設定されている「言語 / 地域」を使用します。

例: 2023 年 3 月 14 日に米国でデバイスが使用されている場合 午後 1 時 59 分に yyyy MMM d EE a h:mm を入力すると、次のようになります。 出力: Tue, Mar 14, 2023, 1:59 PM

文字列 バージョン 1
icuBestText(,)

最初の引数の入力日付形式文字列を、想定される形式に一致するパターンを持つ現在の時刻に変換します。2 番目の引数はミリ秒単位のタイムスタンプ文字列です。

PartText 要素に Localization 要素で、その言語 / 地域の形式が使用されます。それ以外の場合は、Wear OS デバイスで設定されている「言語 / 地域」を使用します。

文字列 バージョン 2
subText(,,)

1 つ目の値から部分文字列を抽出します。2 つ目の値は最初の値のゼロベース インデックスで、その値に当たる文字から部分文字列の抽出を開始します。3 つ目の値も最初の値のゼロベース インデックスで、その値に当たる文字の前で部分文字列の抽出を終了します(抽出されるのは、2 つ目の値に当たる文字から 3 つ目の値に当たる文字の前の文字まで)。

例: <ph type="x-smartling-placeholder">
    </ph>
  • subText("abc def", 2, 5) の場合は c d
  • subText("abc def", 2, 7) の場合は c def
文字列 バージョン 1
textLength()

入力文字列の長さを計算します。

例: <ph type="x-smartling-placeholder">
    </ph>
  • textLength("") の場合は 0
  • textLength("abcdef") の場合は 6
文字列 バージョン 1

演算子

Watch Face Format は、次の文字列値を演算子として認識します。

+
単項プラス(複数値の加算)。 整数値と浮動小数点値の両方をサポートします。
-
単項マイナス(複数値の減算)。整数値と浮動小数点値の両方をサポートします。
*
複数値(整数値または浮動小数点値)の乗算。
/

2 つの値(整数値または浮動小数点値)の除算。

2 つの整数値を除算して整数以外の値になった場合、小数点以下は浮動小数点数で表されます。たとえば、$ \frac{1}{2} = 0.5 $ となります。

また、$ x $ に任意の整数を取る $ \frac{x}{0} $ という式は 0 となります。

%

2 つの値(整数値または浮動小数点値)の剰余除算。

両方のオペランドが整数の場合、結果は 2 つの値を除算した解の「余り」です。たとえば、$ 19 \bmod 7 = 5 $ となります。

少なくとも 1 つのオペランドが浮動小数点数である場合、結果は解の「余り」を浮動小数点数で表した値です。たとえば、$ 19.0 \bmod 7 = 5.0 $ となります。

~

ビット演算子「NOT」。次に例を示します。

  • ~1 は $ -2 $
  • ~0 は $ -1 $
!

論理演算子「NOT」。二重否定をサポートします。次に例を示します。

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

ビット演算子「OR」。3 つ以上の入力値をサポートします。次に例を示します。

  • $ 1 | 0 = 1 $
  • $ 1 | 2 | 4 = 7 $
||
論理演算子「OR」。
&
ビット演算「AND」。2 つの入力値のみをサポートします。
&&
論理演算子「AND」。
(
開きかっこ。通常の演算順序では乗算と除算が加算と減算より優先されますが、その演算順序を変更する場合に使用します。
)
閉じかっこ。通常の演算順序では乗算と除算が加算と減算より優先されますが、その演算順序を変更する場合に使用します。
<
比較演算子「小なり」。整数値と浮動小数点数で表した同じ値とを比較すると、結果は false になります。
<=
比較演算子「小なりイコール」整数値と浮動小数点数で表した同じ値とを比較すると、結果は true になります。
>
比較演算子「大なり」。整数値と浮動小数点数で表した同じ値とを比較すると、結果は false になります。
>=
比較演算子「大なりイコール」。整数値と浮動小数点数で表した同じ値とを比較すると、結果は true になります。
?:

3 項演算をサポートします。一般的な形式は次のとおりです。

condition ? value_if_true : value_if_false

かっこを使用して、ネストされた 3 項演算をサポートします。

,

複数の引数を取る関数で、値を区切ります。

"

値の先頭と末尾に挿入すると、Watch Face Format に対して値を文字列として認識するよう指示できます。

==

左辺と右辺の値が等しいことを示します。整数値と浮動小数点数で表した同じ値とを比較すると、結果は true になります。

!=

左辺と右辺の値が等しくないことを示します。整数値と浮動小数点数で表した同じ値とを比較すると、結果は false になります。

で確認できます。