跳到主要内容

数据转换

提示

截图与实际界面可能有所不同,请以实际为准。

概述

当两个卡片相连而输出与输入数据类型不一致时,Aqara Studio 会自动插入数据转换卡片。借助这一功能,您无需额外操作,就能在自动化流程中轻松定义数据的最终形态。例如,将数值 1 转换为文本 "1.0",或将布尔值 false 映射为更直观的状态“设备已离线”。

数据转换示意

这种灵活的数据转换能力,让您可以无缝完成 数学计算逻辑判断文本拼接,并打通各种 赋值参数 卡片,使原始数据自然融入业务逻辑,从而自由定制流程。

本文将说明不同类型参数的转换规则。

布尔值转其他

布尔值转枚举

布尔值转枚举

为实现从布尔型到枚举型的转换,您需要在数据转换中明确设置二者间的映射关系:

  • 取 true 时的枚举值:选择当输入为 true 时应输出的枚举值。
  • 取 false 时的枚举值:选择当输入为 false 时应输出的枚举值。

布尔值转数值

布尔值转数值

为实现从布尔型到数值型的转换,您需要在数据转换中明确设置二者间的映射关系:

  • 取 true 时的值:选择当输入为 true 时应输出的数值。
  • 取 false 时的值:选择当输入为 false 时应输出的数值。

布尔值转字符串

布尔值转字符串

为实现从布尔型到字符串的转换,您需要在数据转换中明确设置二者间的映射关系:

  • 取 true 时的值:选择当输入为 true 时应输出的字符串。
  • 取 false 时的值:选择当输入为 false 时应输出的字符串。

枚举转其他

枚举转布尔值

枚举转布尔值

通过指定一个特定枚举值作为 false 的映射来完成转换:

  • 取 false 时的值:输入枚举值等于此配置值时,输出 false。当输入数值为任何其他枚举值时,均输出 True。

枚举转数值

枚举转数值

当枚举类卡片连接至数值类卡片时,数值类卡片会直接获取输入枚举值的数值,例如,序号为 0 的枚举值对应的数值为 0。

枚举转字符串

枚举转字符串

当枚举类卡片连接至字符串类卡片时,字符串类卡片会直接获取输入枚举值的名称,如图所示,字符串变量直接展示了设备的当前模式,即 Low。

数值转其他

数值转布尔值

数值转布尔

通过指定一个特定值作为 false 的映射来完成转换:

  • 取 false 时的值:输入数值等于此配置值时,输出 false。当输入数值为任何其他值时,均输出 True。

数值转枚举

数值转枚举

当数值类卡片连接至枚举类卡片时,输入数值将根据预设的映射关系转换为对应的枚举值。例如,数值 0 对应序号为 0 的枚举值。

数值转字符串

数值转字符串

当数值类卡片连接至字符串类卡片时,您需要指定一个“格式”字符串。该格式决定了最终字符串是否包含小数位、千位分隔符或其他符号。

基本格式符号说明

符号说明示例转换前
(数字)
转换后
(字符串)
0数字,不足时补 0。000123123
5005
#数字,不足时不补 0。###123123
55
.小数点。0.003.141593.14
,千位分隔符。#,###12341,234
%百分比。0%0.1515%
E科学计数法。0.00E0012341.23E03

常用格式配置示例

基本数字格式
格式说明转换前(数字)转换后(字符串)
0整数123.7124
0.0一位小数123.7123.7
0.00两位小数123.7123.70
0.000三位小数123.7123.700
基本数字格式示例
灵活小数位
格式说明转换前(数字)转换后(字符串)
#整数,自动四舍五入,无多余小数123.7124
#.#最多一位小数,整数时不显示小数点123.7123.7
123.0123
#.##最多两位小数,整数时不显示小数点123.7123.7
123.00123
灵活小数点示例
千位分隔符
格式说明转换前(数字)转换后(字符串)
#,###千位分隔符12341,234
#,###.00千位分隔符+两位小数1234.51,234.50
千位分隔符示例
百分比
格式说明转换前(数字)转换后(字符串)
0%百分比0.1515%
0.0%一位小数百分比0.1515.0%
百分比示例
科学计数法
格式说明转换前(数字)转换后(字符串)
0.00E00科学计数法12341.23E03
科学计数法
货币格式
格式说明转换前(数字)转换后(字符串)
¥#,###.00人民币格式1234.5¥1,234.50
$#,###.00美元格式1234.5$1,234.50
货币

字符串转其他

字符串转布尔值

字符串转布尔值

为实现从字符串到布尔值的转换,您需要在数据转换中明确设置二者间的映射关系:

  • 取 false 时的值:规定当输入为何值时,应输出 false
  • 取 true 时的值:规定当输入为何值时,应输出 true

字符串转数值

字符串转数值

您只需将数字字符串卡片与数值卡片相关联,系统便会自动将其转换为数值类型,无需任何额外配置。