Коллекция арифметических функций и операций, которые другие элементы формата циферблата используют для разрешения значений атрибутов в реальном времени и гироскопических эффектов.
Представлено в Wear OS 4.
Пример
Пример выражения для поворота значения до 5 градусов в любом направлении на основе значения $ x $ акселерометра устройства Wear OS:
(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)
...что эквивалентно следующему математическому выражению, где $\theta_x$ представляет угол акселерометра в направлении $x$:
Функции
Формат циферблата распознает следующие строковые значения как функции:
Функция | Описание | Тип возврата | Доступность |
---|---|---|---|
round() | Преобразует входное значение в значение с плавающей запятой, затем выполняет стандартную математическую операцию round() . | Целое число | Версия 1 |
floor() | Выполняет стандартную математическую операцию floor() . | Плавать | Версия 1 |
ceil() | Выполняет стандартную математическую операцию ceil() . | Плавать | Версия 1 |
fract() | Возвращает дробную часть входного значения; то есть часть значения с плавающей запятой, которая отображается справа от десятичной точки. | Плавать | Версия 1 |
sin() | Выполняет стандартную тригонометрическую операцию sin() . | Плавать | Версия 1 |
cos() | Выполняет стандартную тригонометрическую операцию cos() . | Плавать | Версия 1 |
tan() | Выполняет стандартную тригонометрическую операцию tan() . | Плавать | Версия 1 |
asin() | Выполняет стандартную тригонометрическую операцию asin() . Возвращаемое значение всегда находится в диапазоне $[-\frac{\pi}{2}, \frac{\pi}{2}]$. | Плавать | Версия 1 |
acos() | Выполняет стандартную тригонометрическую операцию acos() . Возвращаемое значение всегда находится в диапазоне $[0.0,\pi]$. | Плавать | Версия 1 |
atan() | Выполняет стандартную тригонометрическую операцию atan() . Возвращаемое значение всегда находится в диапазоне $[-\frac{\pi}{2}, \frac{\pi}{2}]$. | Плавать | Версия 1 |
abs() | Преобразует входное значение в значение с плавающей запятой, затем выполняет стандартную математическую операцию abs() . | Плавать | Версия 1 |
clamp(,,) | Преобразует входные значения в значения с плавающей запятой, затем выполняет операцию clamp() Jetpack, чтобы уместить первое значение в диапазоне, определенном вторым и третьим значениями. | Плавать | Версия 1 |
rand(,) | Генерирует случайное значение с плавающей запятой, которое одновременно удовлетворяет следующим условиям:
| Плавать | Версия 1 |
log() | Выполняет стандартную математическую операцию base-$e$ log() . | Плавать | Версия 1 |
log2() | Имитирует логарифм по основанию 2. Это значение рассчитывается путем деления log() входного значения по основанию 10 на логарифм по основанию 10, равный $2$. | Плавать | Версия 1 |
log10() | Выполняет стандартную математическую операцию log() по основанию 10. | Плавать | Версия 1 |
sqrt() | Выполняет стандартную математическую операцию sqrt() . | Плавать | Версия 1 |
cbrt() | Выполняет стандартную математическую операцию cbrt() . | Плавать | Версия 1 |
exp() | Выполняет стандартную математическую операцию exp() . | Плавать | Версия 1 |
expm1() | Непосредственно вызывает математическую операцию expm1() , если входное значение равно $1$. Для любого другого входного значения имитирует функцию, выполняя стандартную математическую операцию exp() , а затем вычитая 1. | Плавать | Версия 1 |
deg() | Выполняет стандартную математическую операцию toDegrees() . $ \frac{\pi}{2} $ определяется как 90 градусов, а $ \pi $ определяется как 180 градусов. | Плавать | Версия 1 |
rad() | Выполняет стандартную математическую операцию toRadians() . 90 градусов определяется как $\frac{\pi}{2}$, а 180 градусов определяется как $\pi$. | Плавать | Версия 1 |
pow(,) | Выполняет стандартную математическую операцию pow() . Выходное значение всегда является числом с плавающей запятой. | Плавать | Версия 1 |
numberFormat(,) | Применяет числовой формат первого значения ко второму значению. Первое значение может содержать следующие символы:
| Нить | Версия 1 |
icuText() | Преобразует строку формата входной даты в шаблон, соответствующий ожидаемому формату языкового стандарта. Если родительский элемент Например, если устройство используется в США, входное значение | Нить | Версия 1 |
icuText(,) | Преобразует строку формата даты ввода первого аргумента в шаблон, соответствующий ожидаемому формату языкового стандарта. Второй аргумент — это строка временной метки в миллисекундах. Если родительский элемент | Нить | Версия 2 |
icuBestText() | Преобразует строку формата входной даты в текущее время, шаблон которого соответствует ожидаемому формату. Если родительский элемент Например, если устройство используется в США 14 марта 2023 г. в 13:59, входное значение | Нить | Версия 1 |
icuBestText(,) | Преобразует строку формата даты ввода первого аргумента в текущее время, шаблон которого соответствует ожидаемому формату. Второй аргумент — это строка временной метки в миллисекундах. Если родительский элемент | Нить | Версия 2 |
subText(,,) | Извлекает подстроку из первого значения. Второе значение указывает индекс, отсчитываемый от 0, в первом значении, где должна начинаться подстрока. Третье значение указывает на индекс, отсчитываемый от 0, в первое значение, где извлечение подстроки должно прекратиться («от второго значения до третьего значения, но не включая его»). Примеры:
| Нить | Версия 1 |
textLength() | Вычисляет длину входной строки. Примеры:
| Нить | Версия 1 |
Операторы
Формат циферблата распознает следующие строковые значения как операторы:
-
+
- Унарный плюс или сложение нескольких значений. Поддерживает как целые числа, так и значения с плавающей запятой.
-
-
- Унарный минус или вычитание нескольких значений. Поддерживает как целые числа, так и значения с плавающей запятой.
-
*
- Умножение нескольких целых чисел или значений с плавающей запятой.
-
/
Деление двух целых чисел или значений с плавающей запятой.
Если в результате деления двух целых чисел получается нецелое значение, десятичная часть сохраняется в результате с плавающей запятой. Например, $\frac{1}{2} = 0,5$.
Кроме того, выражение $\frac{x}{0}$ оценивается как
0
, где $x$ — любое целое число.-
%
Модульное деление двух целых чисел или значений с плавающей запятой.
Если оба операнда являются целыми числами, результатом является остаток от деления двух значений. Например, $19\bmod 7 = 5$.
Если хотя бы один операнд является числом с плавающей запятой, результатом является эквивалент остатка с плавающей запятой; например: $19,0\bmod 7 = 5,0$.
-
~
Побитовый оператор «не». Несколько примеров:
-
~1
= $-2 $ -
~0
это $-1$
-
!
Логический оператор «нет», поддерживающий двойное отрицание. Несколько примеров:
- $ !2 $
false
- $ !!0 $
true
-
|
Побитовый оператор «или». Поддерживает более двух входных значений. Несколько примеров:
- 1 доллар | 0 = 1$
- 1 доллар | 2 | 4 = 7$
-
||
- Логический оператор «или».
-
&
- Побитовый оператор «и». Поддерживает ровно 2 входных значения.
-
&&
- Логический оператор «и».
-
(
- Открытая скобка. Используется для изменения стандартного порядка операций, при котором умножение и деление обычно имеют приоритет над сложением и вычитанием.
-
)
- Закрывающая скобка. Используется для изменения стандартного порядка операций, при котором умножение и деление обычно имеют приоритет над сложением и вычитанием.
-
<
- Оператор сравнения «меньше чем». При сравнении целочисленного значения с его эквивалентом с плавающей запятой результатом будет
false
. -
<=
- Оператор сравнения «меньше или равно». При сравнении целочисленного значения с его эквивалентом с плавающей запятой результатом будет
true
. -
>
- Оператор сравнения «больше чем». При сравнении целочисленного значения с его эквивалентом с плавающей запятой результатом будет
false
. -
>=
- Оператор сравнения «больше или равно». При сравнении целочисленного значения с его эквивалентом с плавающей запятой результатом будет
true
. -
?
и:
Обеспечивает поддержку троичных операций. Общий формат следующий:
condition ? value_if_true : value_if_false
Поддерживает вложенные тернарные операции с использованием круглых скобок.
-
,
Разделяет значения в функциях, которые принимают более одного аргумента.
-
"
Размещение в начале и конце значения указывает на то, что формат циферблата должен интерпретировать значение как строку.
-
==
Сравните на равенство. При сравнении целочисленного значения с его эквивалентом с плавающей запятой результатом будет
true
.-
!=
Сравните неравенство. При сравнении целочисленного значения с его эквивалентом с плавающей запятой результатом будет
false
.
Рекомендуется для вас
- Примечание. Текст ссылки отображается, когда JavaScript отключен.
- Макеты и выражения привязки
- Краткий справочник AGSL
- Kotlin Bootcamp для программистов 2: основы Kotlin