Menu:

第6章  LabVIEW数据类型(7)


数据类型转化(换)

      在LabVIEW开发环境中,程序设计时通常可以不必关心两个目标间的数值类型数据是否一致,因为LabVIEW会自动实施数值类型的匹配工作。


1、转化和强迫

1)强制数值类型转换
     在前面的许多例子中,都看到了强制标量数值类型转换的情况出现。比如在强制数值转换的数据端口可以看到一个小红点。
     由于强制数值转换是将低精确度数据向高精确度数据类型进行转换,所以不会破坏原有的数据精确度。比如:两个数据相加,一个是DBL类型,另一个是I16类型,强制转换的结果是将I16转换为DBL类型,“和”也是DBL类型并没有破坏计算的精确度。但内存的使用量会增加。
     LabVIEW提供了不同类型数值转换的内置函数,可以在强制转换发生前做好数值转换的工作,避免强制转换的发生。大师讲:这样可以提高程序的运行效率。我实际简单的测试了一下并没有发现有什么明显可以看得出的改善。

     数值类型另一种比较常见的转换形式是将数值转换成字符串或者是字符串转换成数字。LabVIEW在这方面提供了丰富的内置函数可供选择使用。具体的例子可参见本章(4)单元中的介绍。


2、复杂的转化和类型构造

     数值类型数据转换是最简单转换方式,因为他们可以被强制进行转换。LabVIEW还提供了其它的数据类型转换方式。比如:簇和数组之间的转换内置函数就是比较常用的一种。
     簇有些类适于容器,它可以承载多种数据类型,但簇操作的内置函数不如数组多。所以可先将簇转换为数组,利用数组的内置函数丰富的特点进行各种处理,然后再转换成簇函数。

     若想把一个数据类型转换成其它的数据类型的最好办法是Type casting函数,本书称为类型构造。
     大师在书中也谈到,由于LabVIEW内置了足够多的转换函数,因此用户很少使用
Type casting函数。
      而在《软件工程方法在LabvIEW中的应用》一书中,称Type casting函数为:强制类型转换函数。并举了一个将枚举类型强制转换为字符串类型的例子。
     能够更好的帮助理解的是csxcs_366在“OpenG专栏”中的枚举、字符串转换里的一些表述。
     这个函数我没有使用过,暂且不谈。


3、Flatten To String

     我发现使用这个函数最多的是仪器控制部分的一些程序,许多书中的例子都是围绕这部分内容来说明的。
    
这个函数我没有使用过,暂且不谈了。


4、枚举类型

     有关枚举类型的介绍请参考《学习札记》中4.1.1单元的相关介绍。