public static bool TryParse(String s, NumberStyles style, IFormatProvider provider, out double result) { Decimal.ValidateParseStyleFloatingPoint(style); if (s == null) { result = 0; return(false); } bool success = FormatProvider.TryParseDouble(s, style, provider, out result); if (!success) { String sTrim = s.Trim(); if (FormatProvider.IsPositiveInfinity(sTrim, provider)) { result = PositiveInfinity; } else if (FormatProvider.IsNegativeInfinity(sTrim, provider)) { result = NegativeInfinity; } else if (FormatProvider.IsNaNSymbol(sTrim, provider)) { result = NaN; } else { return(false); // We really failed } } return(true); }
public static double Parse(String s, NumberStyles style, IFormatProvider provider) { Decimal.ValidateParseStyleFloatingPoint(style); return(FormatProvider.ParseDouble(s, style, provider)); }
public static double Parse(String s, NumberStyles style) { Decimal.ValidateParseStyleFloatingPoint(style); return(Parse(s, style, null)); }