Пример #1
0
        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);
        }
Пример #2
0
 public static double Parse(String s, NumberStyles style, IFormatProvider provider)
 {
     Decimal.ValidateParseStyleFloatingPoint(style);
     return(FormatProvider.ParseDouble(s, style, provider));
 }
Пример #3
0
 public static double Parse(String s, NumberStyles style)
 {
     Decimal.ValidateParseStyleFloatingPoint(style);
     return(Parse(s, style, null));
 }