当前位置:编程学习 > C#/ASP.NET >>

求教C#中如何比较浮点数的大小

我的程序是得到的坐标 x, y  我定义的是 float 类型的。 后面过段时间得到新的坐标 x1 , y1 我想比较这2个数的大小,就是想看坐标有没有变化 ,用什么代码 ? 还是需要转换成整型 ? 求大神指导啊。。。 --------------------编程问答-------------------- 对于能精确表示的如.5之类的,可以直接比较,其他的你规定一个差值范围作为比较规则 --------------------编程问答-------------------- *100(也可以是1000,自己定义精度)后转换成整数比较大小。 --------------------编程问答-------------------- return Math.Abs(x-x1)<0.00001f &&Math.Abs(y-y1)<0.00001f; --------------------编程问答-------------------- 那就作差吧。 --------------------编程问答--------------------
引用 2 楼 Snowdust 的回复:
*100(也可以是1000,自己定义精度)后转换成整数比较大小。

可以用这种, --------------------编程问答-------------------- Console.WriteLine(new PointF(x, y).Equals(new PointF(x1, y1))); --------------------编程问答-------------------- 一般比较位置有没有变化,都是计算,xy,与x1y1两个点之间的距离。因为浮点数肯定会有计算损失,假定两点间距离小于一定的误差值(很小)就可以假定是位置没有变。计算可以像上面说的转成整数,或者用精度更高的decimal类型
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,