diff --git a/README.md b/README.md index b237caa..da8736e 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,8 @@ import "github.com/duke-git/lancet/v2/compare" - **GreaterOrEqual** : Checks if value `left` less greater or equal than value `right`. [[doc](https://github.com/duke-git/lancet/blob/main/docs/compare.md#GreaterOrEqual)] [[play](https://go.dev/play/p/vx8mP0U8DFk)] +- **InDelta** : Checks if two values are equal or not within a delta. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/compare.md#InDelta)]

3. Concurrency package contain some functions to support concurrent programming. eg, goroutine, channel, async.        index

diff --git a/README_zh-CN.md b/README_zh-CN.md index 5603096..9d29ef5 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -171,6 +171,8 @@ import "github.com/duke-git/lancet/v2/compare" - **GreaterOrEqual** : 验证参数`left`的值是否大于或等于参数`right`的值。 [[doc](https://github.com/duke-git/lancet/blob/main/docs/compare_zh-CN.md#GreaterOrEqual)] [[play](https://go.dev/play/p/vx8mP0U8DFk)] +- **InDelta** : 检查增量内两个值是否相等。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/compare_zh-CN.md#InDelta)]

3. concurrency 包含一些支持并发编程的功能。例如:goroutine, channel, async 等。       回到目录

diff --git a/docs/compare_zh-CN.md b/docs/compare_zh-CN.md index 1468906..3cb2ef3 100644 --- a/docs/compare_zh-CN.md +++ b/docs/compare_zh-CN.md @@ -30,6 +30,8 @@ import ( - [GreaterThan](#GreaterThan) - [LessOrEqual](#LessOrEqual) - [GreaterOrEqual](#GreaterOrEqual) +- [InDelta](#InDelta) +
@@ -324,3 +326,50 @@ func main() { // false } ``` + +### InDelta + +

检查增量内两个值是否相等。

+ +函数签名: + +```go +func InDelta[T constraints.Integer | constraints.Float](left, right T, delta float64) bool +``` + +示例: + +```go +package main + +import ( + "fmt" + "github.com/duke-git/lancet/v2/compare" +) + +func main() { + result1 := InDelta(1, 1, 0) + result2 := InDelta(1, 2, 0) + + result3 := InDelta(2.0/3.0, 0.66667, 0.001) + result4 := InDelta(2.0/3.0, 0.0, 0.001) + + result5 := InDelta(float64(74.96)-float64(20.48), 54.48, 0) + result6 := InDelta(float64(74.96)-float64(20.48), 54.48, 1e-14) + + fmt.Println(result1) + fmt.Println(result2) + fmt.Println(result3) + fmt.Println(result4) + fmt.Println(result5) + fmt.Println(result6) + + // Output: + // true + // false + // true + // false + // false + // true +} +```