IBM FileNet P8, V5.2.1            

隐式转换

在运行时,对于某些数据类型组合,会对表达式结果进行隐式转换。

例如,如果将整型表达式指定为 float 类型的数据字段的初始值,就会进行隐式转换。请注意,在表达式中,不存在从字符串值到时间值的隐式转换;您必须使用 convert 函数或 stringtotime 函数将字符串值显式转换为时间值。

在复杂表达式中,进行隐式转换以使自变量的数据类型满足运算符或者函数的要求。例如,substr 函数要求起始位置和长度自变量的值为整数。如果您对这些自变量指定浮点值 2.5 和 1.0,那么在对此表达式进行求值之前,会将这些浮点值隐式转换为整数值 2 和 1。

在运行时,会对下列数据类型组合进行隐式转换:

从 float 到 integer

在浮点数中,小数点右边的所有位都会被截断。例如,如果您将整数数据字段的初始值指定为 123.4567,那么在初始化时会将此数据字段的值设置为 123。

注: 初始化数组数据字段时,不会进行从 float 到 integer 类型的转换。为整数数组(作为简单表达式或者复杂表达式)指定的所有元素必须为整数值。 例如,如果您为整数数组数据字段指定初始值,或者使用 assign 系统函数为整数数组数据字段指定值,那么有效值包括 {3} 和 {3 + 5, 7}。但是,值 {3.0} 和 {3 + 5.5, 7} 无效。

从 integer 到 float

小数点和 0 追加在整数的最后一位的后面。

在包含浮点值和整数值的复杂表达式中,如果运算符要求值为同一数据类型,那么将进行隐式转换。在这种情况下,在对此表达式进行求值之前,会将整数值转换为 float 数据类型。例如,如果您指定 1.5 + 2,那么会将 2 转换为 2.0。

注: 初始化具有简单表达式的数组数据字段时,不会进行从 integer 到 float 类型的转换。指定为 float 数组的简单表达式的所有元素必须为浮点值。例如,您可以指定 {3.0} 或 { convert(1, float) },但是不能指定 {3}。


最近一次更新时间: 2016 年 3 月
bpfe016.htm

© Copyright IBM Corporation 2016.