---
source_url: https://docs.dolphindb.cn/zh/funcs/e/eqpercent.html
fetched_at: 2026-05-19T09:21:03Z
category: funcs
title: eqPercent
sha1: 1d005410e8775623a9c7aa77eaacf5d24c4fcf5f
---

# eqPercent

## 语法

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

## 详情

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

## 参数

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

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

## 返回值

输出一个 BOOL 标量，true 代表 *X* 与 *Y* 每个对应位置的元素都在约束下相等；false 反之。

注意：

- 如果传入的参数 *X* 或 *Y* 的类型不受支持，则返回 `eqObj(X, Y)`
  的结果值。
- NULL 值和其他值不相等。
- 不同类型之间的 NULL 值被认为相等。

## 例子

以下给出几个简单示例。

```dolphindb
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](eqObj.html)
