Xamarin Foms UWP释放模式双变量不会设置为零

Xamarin Foms UWP释放模式双变量不会设置为零,uwp,xamarin.forms,double,release,Uwp,Xamarin.forms,Double,Release,我有以下代码: public static MapSpan GetMapspan(List<Position> pobj_Positions, bool pb_IncludeCurrentLocation) { bool gotRect = false; double ld_north = 0; double ld_west = 0; double ld_south = 0; double l

我有以下代码:

 public static MapSpan GetMapspan(List<Position> pobj_Positions, bool pb_IncludeCurrentLocation)
    {

        bool gotRect = false;
        double ld_north = 0;
        double ld_west = 0;
        double ld_south = 0;
        double ld_east = 0;
        double ld_workLatitude = 0;
        double ld_workLongitude = 0;
        double ld_centerLatitude = 0;
        double ld_centerLongitude = 0;
        Position lobj_CenterPosition;
        MapSpan lobj_MapSpan = null;

        try
        {

            ld_north = 0;
            ld_west = 0;
            ld_south = 0;
            ld_east = 0;
            ld_workLatitude = 0;
            ld_workLongitude = 0;
            ld_centerLatitude = 0;
            ld_centerLongitude = 0;

            if (pobj_Positions.Count > 0)

你知道如何解决这个问题,或者为什么会出现这个问题吗?

我以前没有见过0有这个问题,但是对于其他数字,double不能准确存储其值,可能会有舍入错误。正如你所看到的,它有E-299,这意味着它的价值非常小

如果需要精度,请移到小数点

或者,如果继续使用double,可以通过执行

if (value < 0.00001 && value > -0.00001)
if(值<0.00001&&value>-0.00001)
你开始用大于或小于,而不是绝对值来检查这些问题

另一个可能的问题是,监视窗口有问题,即使它实际上是零,这很难说,但肯定可能是系统中的一个错误。正如我提到的,我以前从未见过0出现问题

if (value < 0.00001 && value > -0.00001)