gpt4 book ai didi

c# - Linq 数据类型与 Double 的比较

转载 作者:行者123 更新时间:2023-11-30 16:17:54 27 4
gpt4 key购买 nike

在我的 Linq 查询中,我有一个看起来像这样的 where 语句

&& vio.Bows.Any(nw => nw.XCoordinate.Equals(currVio.XCoordinate)))

值(value)观是

nw.XCoordinate = 4056.48751252685
currVio.XCoordinate = 4056.488

因此等于语句不起作用,最简单的舍入方法是什么?

public double XCoordinate { get; set; }

最佳答案

您可以使用通常的方法来比较 double 的接近度,方法是计算绝对差,并将其与较小的值进行比较:

Math.Abs(x - y) < 1E-8 // 1E-8 is 0.00000001

例如,您可以像这样在 LINQ 查询中使用此方法:

&& vio.Bows.Any(nw => Math.Abs(nw.XCoordinate-currVio.XCoordinate) < 0.001)

关于c# - Linq 数据类型与 Double 的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704405/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com