Co8820RoundTripAllCultures.AreTheseNumbersEqual C# (CSharp) Method

AreTheseNumbersEqual() private method

private AreTheseNumbersEqual ( double val1, double val2, String format, CultureInfo culture ) : Boolean
val1 double
val2 double
format String
culture CultureInfo
return Boolean
 private Boolean AreTheseNumbersEqual(double val1, double val2, String format, CultureInfo culture)
   {
   if(Double.IsNaN(val1)){
   if(Double.IsNaN(val2))
     return true;
   else
     return false;
   }
   Double threshold = 0.03;
   if(val1==0.0 || val2==0.0){
   if((culture.LCID==0x0411 || culture.LCID==0x0412 || culture.LCID==0x043E
       || culture.LCID==0x0443 || culture.LCID==0x083E || culture.LCID==0x421
       )
      && format.Equals("C")
      )
     return true;
   if((val1<threshold) && (val2<threshold))
     return true;
   else
     return false;
   }
   Double result = val1/val2;
   if(result>1.0)
     result = result-1.0;
   else
     result = 1.0-result;
   if(result < threshold)
     return true;
   else{
   Console.WriteLine("value1: {0} value2: {1}, Result: {2}", val1, val2, result);
   return false;
   }
   }
}