eqPercent

语法

eqPercent(X, Y,[toleranceLevel=0.0001])

详情

根据自定义约束条件,判断两个输入参数的每个对应位置上的元素是否都相等。

参数

XY 要比较的两个数值,仅支持长度相同的标量、向量、数据对或矩阵。数据类型仅支持 BOOL, CHAR, SHORT, INT, LONG, FLOAT, DOUBLE, DECIMAL。注意:XY 中的元素在比较时可以是不同的数据类型。

toleranceLevel 可选参数,数值标量,值域为(0,100),表示可容许误差的百分位数,默认值为 0.0001。即两元素差值的绝对值不多于 Y 绝对值的 toleranceLevel%。如 Y 输入 1000,toleranceLevel 取默认值 0.0001,则可容忍误差为 1000*0.0001%=0.001,即[999.999, 1000.001]之间的 X 会被认为相等。

返回值

输出一个 BOOL 标量,true 代表 XY 每个对应位置的元素都在约束下相等;false 反之。

注意:

  • 如果传入的参数 XY 的类型不受支持,则返回 eqObj(X, Y) 的结果值。

  • NULL 值和其他值不相等。

  • 不同类型之间的 NULL 值被认为相等。

例子

以下给出几个简单示例。

eqPercent((1.9999 2.9999), (2 3))
//Output:true

eqPercent((1.9 2.9), (2 3), 2)
//Output:false

eqPercent((1.99f 2.99), (2 3h), 2)
//Output:true
//X和Y中的元素在比较时可以是不同的数据类型

eqPercent((1.9999 NULL), (2 3))
//Output:false

a=double(NULL)
eqPercent(a,NULL)
//Output:true
//DOUBLE类型和VOID类型的NULL相等

eqPercent(2012.06M, 2)
//Output:false
//传入不支持其类型的X,返回eqObj(X, Y)的结果值。

相关函数:eqObj