通过新数据类型平化和还原,使x强制转换为某个类型。如函数无法转换数据而必须对其重新解析,LabVIEW将使用临时缓冲区。该函数存在重新解析数据的风险。如要在转换数据时保留数据的值,请使用“强制转换至类型”函数。

注: 你也可以使用 转换 VI和函数来转换数据类型。


icon

输入/输出

  • cstr.png 类型

    类型是数据要转换至的数据类型。通过连线常量或控件至类型接线端可设置数据要转换至的数据类型。LabVIEW忽略与类型接线端连线的常量和控件中的数据。

  • cext.png x

    x指定要转换的数据。

    该输入可接受任意数据类型。

  • istr.png *(类型 *) &x

    *(类型 *) &xx中的值,可转换为类型

  • 选择“强制类型转换”函数或“强制转换至类型”函数

    强制转换至类型函数将数据转换为所需的数据类型。与“强制转换至类型”函数不同,“强制类型转换”函数通过平化和还原实现不兼容数据类型间的转换,即实现了彻底的重解析数据。如目标数据类型与输入数据所需的内存大小不同,“强制类型转换”函数可能会重解析输入数据。“强制转换至类型”函数在可兼容数据类型间仅允许一次转换,以保留输入数据的值。该操作与强制转换点类似。“强制转换至类型”函数可用于转换类型自定义或重命名连线上的数据(如用户事件应用句柄)。建议您使用“强制转换至类型”函数,而不是“强制类型转换”函数以避免重解析数据。

    X和类型大小不一致的结果

    x类型的大小不一致,函数将生成非预期数据。如x需要的存储位数大于类型可提供的位数,该函数将使用x的高位字节,丢弃剩余的低位字节。如x是小于类型的数据类型,该函数将移动x中的数据至类型的高位字节,并在剩余的低位字节中填充0。例如,8位不带符号整数1转换为16位不带符号整数时,结果是256。

    数组的类型转换

    该函数可用于标量数组或标量簇数组。例如,如将4个16位整数组成的数组转换为32位整数数组,输出数组包含两个元素,每个元素由输入数组的两个元素的字节连接后组成。如输入数组部分元素包含的字节数不足以形成输出数组的一个元素,LabVIEW将忽略输入数组的最后几个元素。

    强制类型转换参考

    如需向上或向下强制转换,应使用转换为通用的类函数和转换为特定的类函数,而不是“强制类型转换”函数。强制类型转换不提供错误检查,但“转换为通用的类”和“转换为特定的类”函数可进行错误检查。“转换为特定的类”具有错误输入错误输出参数。如连线引用至不匹配的对象类,“转换为通用的类”函数将在编辑时断开连线。

    强制转换早期版本的LabVIEW布尔值

    x可能含有使用LabVIEW 4.x或前期版本创建的布尔数据,可右键单击函数,在快捷菜单中选择转换4.x数据,使数据转换为LabVIEW 5.0或更高版本可读取的数据。在转换4.x数据模式下,函数按LabVIEW 4.x的数据存储方式解析x,并在该函数上显示红色的4.x图标。LabVIEW 4.x或更早版本使用两个字节存储布尔数据,但是,如数据位于数组中,LabVIEW使用一个比特存储各布尔元素。LabVIEW 5.0或更高版本中,无论布尔值是否在数组中,都只用一个字节存储布尔值。从长远考虑,NI建议重新构建使用转换4.x数据模式的应用程序。