我在带有浮点变量的C#(。Net 4.6.1)中观察到一个(对我而言)奇怪的问题。
我有一个自己的简单Point类:
public class Point
{
public readonly double X;
public readonly double Y;
public Point(double x, double y)
{
this.X = x;
this.Y = y;
}
//...
}
包含Contains方法的Rectangle类。有时 - 非常难以重现 - 当我将Point对象传递给包含Rectangle对象的方法时,X或Y的值不相同。变量之间没有计算或任何其他变化。只是得到变量值。在caling方法中,值为OK,在调用方法中,该值具有舍入误差。
这里有什么问题? 为什么调用方法中还有另一个值?
最后,价值没有变化。因此在调用方法中,该值以后仍然可以。
提前致谢!
马斯
答案 0 :(得分:0)
public override string ToString()
{
return $"{this.X};{this.Y}";
}
该值在调用方法中也有舍入错误。