ArithmeticExpression

Tập hợp hàm và phép tính số học mà các phần tử Định dạng mặt đồng hồ (Watch Face Format) khác sử dụng nhằm phân giải các giá trị thuộc tính theo thời gian thực và hiệu ứng con quay hồi chuyển (gyroscopic).

Ra mắt trong Wear OS 4.

Ví dụ

Biểu thức mẫu để xoay giá trị lên đến 5 độ theo một trong hai hướng, dựa trên giá trị $ x $-value của gia tốc kế trên thiết bị Wear OS:

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

...tương đương với biểu thức toán học sau đây, trong đó $\theta_x $ đại diện cho góc gia tốc kế theo hướng $ x $:

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

Hàm

Định dạng mặt đồng hồ nhận dạng các giá trị chuỗi dưới dạng hàm:

Chức năng Mô tả Loại dữ liệu trả về Phạm vi cung cấp
round() Chuyển đổi giá trị đầu vào thành giá trị dấu phẩy động, sau đó thực hiện phép chuẩn Phép toán round(). Số nguyên Phiên bản 1
floor() Thực hiện phép toán floor() chuẩn. Nổi Phiên bản 1
ceil() Thực hiện phép toán ceil() chuẩn. Nổi Phiên bản 1
fract() Trả về phần thập phân của giá trị đầu vào; tức là một phần của giá trị dấu phẩy động xuất hiện ở bên phải dấu thập phân. Nổi Phiên bản 1
sin() Thực hiện phép toán lượng giác sin() chuẩn. Nổi Phiên bản 1
cos() Thực hiện phép toán lượng giác cos() chuẩn. Nổi Phiên bản 1
tan() Thực hiện phép toán lượng giác tan() chuẩn. Nổi Phiên bản 1
asin() Thực hiện phép toán lượng giác asin() chuẩn. Được trả về luôn nằm trong khoảng $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. Nổi Phiên bản 1
acos() Thực hiện phép toán lượng giác acos() chuẩn. Được trả về luôn nằm trong khoảng $ [0.0, \pi] $. Nổi Phiên bản 1
atan() Thực hiện phép toán lượng giác atan() chuẩn. Được trả về luôn nằm trong khoảng $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. Nổi Phiên bản 1
abs() Chuyển đổi giá trị đầu vào thành giá trị dấu phẩy động, sau đó thực hiện phép chuẩn Phép toán abs(). Nổi Phiên bản 1
clamp(,,) Chuyển đổi các giá trị đầu vào thành giá trị dấu phẩy động, sau đó thực hiện phép tính clamp() Toán tử Jetpack để khớp với giá trị đầu tiên trong dải ô được xác định bằng giá trị thứ hai và thứ ba. Nổi Phiên bản 1
rand(,) Tạo một giá trị dấu phẩy động ngẫu nhiên đáp ứng các điều kiện sau cùng một lúc:
  • Lớn hơn hoặc bằng giá trị đầu tiên.
  • Nhỏ hơn hoặc bằng giá trị thứ hai.
Giả sử giá trị đầu tiên nhỏ hơn hoặc bằng giá trị thứ hai.
Nổi Phiên bản 1
log() Thực hiện phép toán base-$ e $ log() chuẩn. Nổi Phiên bản 1
log2() Mô phỏng một lôgarit cơ số 2. Giá trị này được tính bằng cách chia cơ số 10 log() của giá trị đầu vào) theo lôgarit cơ số 10 của $ 2 $. Nổi Phiên bản 1
log10() Thực hiện phép toán cơ số 10 log() chuẩn. Nổi Phiên bản 1
sqrt() Thực hiện phép toán sqrt() chuẩn. Nổi Phiên bản 1
cbrt() Thực hiện phép toán cbrt() chuẩn. Nổi Phiên bản 1
exp() Thực hiện phép toán exp() chuẩn. Nổi Phiên bản 1
expm1() Gọi trực tiếp toán tử expm1() nếu giá trị đầu vào là $ 1 $. Với mọi giá trị đầu vào khác, hãy mô phỏng hàm bằng cách thực hiện phép toán exp() chuẩn, sau đó trừ đi 1. Nổi Phiên bản 1
deg() Thực hiện phép toán toDegrees() chuẩn. $ \frac{\pi}{2} $ được định nghĩa là 90 độ và $ \pi $ được định nghĩa là 180 độ. Nổi Phiên bản 1
rad() Thực hiện phép toán toRadians() chuẩn. 90 độ được định nghĩa là $ \frac{\pi}{2} $ và 180 độ được định nghĩa là $ \pi $. Nổi Phiên bản 1
pow(,) Thực hiện phép toán pow() chuẩn. Giá trị đầu ra luôn là số thực. Nổi Phiên bản 1
numberFormat(,) Áp dụng định dạng số của giá trị đầu tiên cho giá trị thứ hai. Giá trị đầu tiên có thể chứa các ký tự sau:
  • # – đại diện cho một chữ số.
  • , – đại diện cho dấu phân tách dấu phẩy trong các số lớn.
  • . – đại diện cho một dấu thập phân.
Chuỗi Phiên bản 1
icuText()

Chuyển đổi chuỗi định dạng ngày được đưa vào thành một mẫu khớp với định dạng ngôn ngữ dự kiến. Nếu phần tử PartText mẹ có phần tử Localization, thì định dạng của ngôn ngữ đó sẽ được sử dụng. Nếu không, hãy sử dụng ngôn ngữ hiện tại của thiết bị Wear OS.

Ví dụ: nếu thiết bị đang được sử dụng ở Hoa Kỳ thì giá trị nhập EE, MMM d, yyyy h:mm a sẽ cho ra kết quả sau: Tue, Mar 14, 2023 1:59 PM

Chuỗi Phiên bản 1
icuText(,)

Chuyển đổi chuỗi định dạng ngày được đưa vào đối số đầu tiên thành một mẫu khớp với định dạng ngôn ngữ dự kiến. Đối số thứ hai là một chuỗi dấu thời gian tính bằng mili giây.

Nếu phần tử mẹ PartText bao gồm một phần tử Localization, thì định dạng của ngôn ngữ đó sẽ được sử dụng. Nếu không, hãy sử dụng ngôn ngữ hiện tại của thiết bị Wear OS.

Chuỗi Phiên bản 2
icuBestText()

Chuyển đổi chuỗi định dạng ngày được đưa vào thành mẫu thời gian hiện tại khớp với định dạng chuẩn. Nếu phần tử PartText mẹ có phần tử Localization, thì định dạng của ngôn ngữ đó sẽ được sử dụng. Nếu không, hãy sử dụng ngôn ngữ hiện tại của thiết bị Wear OS.

Ví dụ: Nếu thiết bị này đang được sử dụng ở Hoa Kỳ từ ngày 14 tháng 3 năm 2023 lúc 1:59 chiều, giá trị đầu vào là yyyy MMM d EE a h:mm sẽ mang lại kết quả sau đầu ra: Tue, Mar 14, 2023, 1:59 PM

Chuỗi Phiên bản 1
icuBestText(,)

Chuyển đổi đối số đầu tiên chuỗi định dạng ngày được đưa vào thành thời gian hiện tại có mẫu khớp với định dạng dự kiến. Đối số thứ hai là một chuỗi dấu thời gian tính bằng mili giây.

Nếu phần tử mẹ PartText bao gồm một phần tử Localization, thì định dạng của ngôn ngữ đó sẽ được sử dụng. Nếu không, hãy sử dụng ngôn ngữ hiện tại của thiết bị Wear OS.

Chuỗi Phiên bản 2
subText(,,)

Trích xuất chuỗi con từ giá trị đầu tiên. Giá trị thứ hai chỉ định chỉ số (bắt đầu đếm từ 0) trong giá trị đầu tiên, nơi mà chuỗi con bắt đầu. Giá trị thứ ba chỉ định chỉ số (bắt đầu đếm từ 0) trong giá trị đầu tiên, nơi mà việc trích xuất chuỗi con sẽ kết thúc ("từ giá trị thứ hai cho đến trước giá trị thứ ba").

Ví dụ:
  • subText("abc def", 2, 5)c d
  • subText("abc def", 2, 7)c def
Chuỗi Phiên bản 1
textLength()

Tính toán độ dài của chuỗi nhập.

Ví dụ:
  • textLength("")0
  • textLength("abcdef")6
Chuỗi Phiên bản 1

Toán tử

Định dạng mặt đồng hồ nhận dạng các giá trị chuỗi dưới dạng toán tử:

+
Cộng một ngôi, hoặc nhiều giá trị. Hỗ trợ cả số nguyên và giá trị dấu phẩy động.
-
Trừ một ngôi, hoặc trừ nhiều giá trị. Hỗ trợ cả số nguyên và giá trị dấu phẩy động.
*
Hệ số nhân của nhiều giá trị số nguyên hoặc dấu phẩy động.
/

Phép chia 2 giá trị số nguyên hoặc dấu phẩy động.

Nếu phép chia 2 số nguyên có kết quả không phải là một số nguyên, thì phần thập phân sẽ được giữ nguyên ở kết quả dưới dạng dấu phẩy động. Ví dụ: $ \frac{1}{2} = 0,5 $.

Ngoài ra, biểu thức $ \frac{x}{0} $ được gán kết quả là 0, trong đó $ x $ là bất kỳ số nguyên nào.

%

Phép chia mô-đun của 2 giá trị số nguyên hoặc dấu phẩy động.

Nếu cả hai toán hạng đều là số nguyên, kết quả sẽ là phần dư sau khi chia 2 giá trị đó. Ví dụ: $ 19 \bmod 7 = 5 $.

Nếu ít nhất một toán hạng là một giá trị dấu phẩy động, thì kết quả sẽ là một dấu phẩy động tương đương với số dư; ví dụ: $ 19.0 \bmod 7 = 5,0 $.

~

Toán tử Bitwise "not". Dưới đây là một số ví dụ:

  • ~1 là $ -2 $
  • ~0 là $ -1 $
!

Toán tử logic "not" hỗ trợ phủ định kép Dưới đây là một số ví dụ:

  • $ !2 $ là false
  • $ !!0 $ là true
|

Toán tử Bitwise "or". Hỗ trợ nhiều hơn 2 giá trị đầu vào. Dưới đây là một số ví dụ:

  • $ 1 | 0 = 1 $
  • $ 1 | 2 | 4 = 7 $
||
Toán tử logic "or".
&
Toán tử bitwise "or". Hỗ trợ đúng 2 giá trị đầu vào.
&&
Toán tử logic "and".
(
Dấu mở ngoặc Dùng để thay đổi thứ tự chuẩn của các phép tính, trong đó phép nhân và phép chia được ưu tiên hơn phép cộng và phép trừ.
)
Dấu đóng ngoặc Dùng để thay đổi thứ tự chuẩn của các phép tính, trong đó phép nhân và phép chia được ưu tiên hơn phép cộng và phép trừ.
<
Toán tử so sánh "nhỏ hơn". Khi so sánh một giá trị số nguyên với giá trị dấu phẩy động tương đương, kết quả sẽ là false.
<=
Toán tử so sánh "nhỏ hơn hoặc bằng". Khi so sánh một giá trị số nguyên với giá trị dấu phẩy động tương đương, kết quả sẽ là true.
>
Toán tử so sánh "lớn hơn". Khi so sánh một giá trị số nguyên với giá trị dấu phẩy động tương đương, kết quả sẽ là false.
>=
Toán tử so sánh "lớn hơn hoặc bằng". Khi so sánh một giá trị số nguyên với giá trị dấu phẩy động tương đương, kết quả sẽ là true.
?:

Hỗ trợ cho các toán tử 3 ngôi. Định dạng chung như sau:

condition ? value_if_true : value_if_false

Hỗ trợ các toán tử 3 ngôi lồng nhau bằng cách sử dụng dấu ngoặc đơn.

,

Tách các giá trị trong những hàm nhận nhiều hơn 1 đối số.

"

Khi đặt ở đầu và cuối của một giá trị, toán tử này định nghĩa Định dạng mặt đồng hồ của một giá trị là một chuỗi.

==

So sánh bằng. Khi so sánh một giá trị số nguyên với giá trị dấu phẩy động tương đương, kết quả sẽ là true.

!=

So sánh bất đẳng thức. Khi so sánh một giá trị số nguyên với giá trị dấu phẩy động tương đương, kết quả sẽ là false.