跳到主要内容

类型转换

预计学习时长:8分钟

本文档描述了当 Make 遇到预期或非预期数据格式的输入时的处理方式。

预期为数组时:

接收值描述
数组该值保持原样不变。
其他如果接收到的值非数组类型,Make 将创建一个新数组,其中第一个(也是唯一一个)元素为接收到的值。

预期为布尔型时:

接收值描述
布尔型该值保持原样不变。
数字该值转换为逻辑“是”,即便值为0。
文本若值为“false”或为空,则转换为逻辑“否”。否则,转换为逻辑“是”。
其他只要存在接收的值(非空),就转换为逻辑“是”。

预期为缓冲区时:

接收值描述
缓冲区若代码页与预期相符,则值保持原样不变。若代码页不同,Make 将尝试将接收值转换为所需代码页。若不支持该转换,将返回验证错误。
布尔型值从布尔转换为文本(true/false),然后按照上述将文本转换为二进制数据的步骤进行。
日期值从日期转换为ISO 8601格式的文本,然后按照将文本转换为二进制数据的步骤进行。
数字值从数字转换为文本,然后依照将文本转换为二进制数据的方法进行。
文本值被转换为二进制数据,并按预期进行编码。若未指定编码,则默认使用UTF-8编码。
其他Make 返回验证错误。

预期为集合时:

接收值描述
集合该值保持原样不变。
其他Make 返回验证错误。

预期为日期时:

接收值描述
日期该值保持原样不变。
文本Make 将尝试将文本转换为日期。如果转换失败,将返回验证错误。日期格式必须包括日、月、年,可能还包括时间和时区。默认时区根据用户设置确定。
数字Make 将数字视为自1970年1月1日(UTC)以来的毫秒数,并将其转换为相应的日期。
其他Make 返回验证错误。

预期为数字时:

接收值描述
数字该值保持原样不变。
文本Make 将尝试将文本转换为数字。如果转换失败,将返还验证错误。
其他Make 返回验证错误。

预期为文本时:

接收值描述
文本该值保持原样不变。
数组若数组可转换为文本,则进行转换。否则,Make 返回验证错误。
布尔型值被转换为文本(true/false)。
缓冲区若为二进制数据指定了文本编码,则将其转换为文本。否则,Make 返回验证错误。
日期值被转换为ISO 8601格式的文本。
数字值被转换为文本。
其他Make 返回验证错误。

预期为时间时:

接收值描述
时间该值保持原样不变。
文本Make 将尝试将文本转换为小时:分钟:秒格式。如果转换失败,将返回验证错误。
其他Make 返回验证错误。