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)