数据转换
提示
截图与实际界面可能有所不同,请以实际为准。
概述
当两个卡片相连而输出与输入数据类型不一致时,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。 | 000 | 123 | 123 |
| 5 | 005 | |||
# | 数字,不足时不补 0。 | ### | 123 | 123 |
| 5 | 5 | |||
. | 小数点。 | 0.00 | 3.14159 | 3.14 |
, | 千位分隔符。 | #,### | 1234 | 1,234 |
% | 百分比。 | 0% | 0.15 | 15% |
E | 科学计数法。 | 0.00E00 | 1234 | 1.23E03 |
常用格式配置示例
基本数字格式
| 格式 | 说明 | 转换前(数字) | 转换后(字符串) |
|---|---|---|---|
0 | 整数 | 123.7 | 124 |
0.0 | 一位小数 | 123.7 | 123.7 |
0.00 | 两位小数 | 123.7 | 123.70 |
0.000 | 三位小数 | 123.7 | 123.700 |
灵活小数位
| 格式 | 说明 | 转换前(数字) | 转换后(字符串) |
|---|---|---|---|
# | 整数,自动四舍五入,无多余小数 | 123.7 | 124 |
#.# | 最多一位小数,整数时不显示小数点 | 123.7 | 123.7 |
| 123.0 | 123 | ||
#.## | 最多两位小数,整数时不显示小数点 | 123.7 | 123.7 |
| 123.00 | 123 |
千位分隔符
| 格式 | 说明 | 转换前(数字) | 转换后(字符串) |
|---|---|---|---|
#,### | 千位分隔符 | 1234 | 1,234 |
#,###.00 | 千位分隔符+两位小数 | 1234.5 | 1,234.50 |
百分比
| 格式 | 说明 | 转换前(数字) | 转换后(字符串) |
|---|---|---|---|
0% | 百分比 | 0.15 | 15% |
0.0% | 一位小数百分比 | 0.15 | 15.0% |
科学计数法
| 格式 | 说明 | 转换前(数字) | 转换后(字符串) |
|---|---|---|---|
0.00E00 | 科学计数法 | 1234 | 1.23E03 |
货币格式
| 格式 | 说明 | 转换前(数字) | 转换后(字符串) |
|---|---|---|---|
¥#,###.00 | 人民币格式 | 1234.5 | ¥1,234.50 |
$#,###.00 | 美元格式 | 1234.5 | $1,234.50 |
字符串转其他
字符串转布尔值
为实现从字符串到布尔值的转换,您需要在数据转换中明确设置二者间的映射关系:
- 取 false 时的值:规定当输入为何值时,应输出
false。 - 取 true 时的值:规定当输入为何值时,应输出
true。
字符串转数值
您只需将数字字符串卡片与数值卡片相关联,系统便会自动将其转换为数值类型,无需任何额外配置。