TryParseSingle() static private method

static private TryParseSingle ( String value, NumberStyles options, NumberFormatInfo numfmt, Single &result ) : Boolean
value String
options NumberStyles
numfmt NumberFormatInfo
result Single
return Boolean
示例#1
0
        private static Boolean TryParse(String s, NumberStyles style, NumberFormatInfo info, out Single result)
        {
            if (s == null)
            {
                result = 0;
                return(false);
            }
            bool success = Number.TryParseSingle(s, style, info, out result);

            if (!success)
            {
                String sTrim = s.Trim();
                if (sTrim.Equals(info.PositiveInfinitySymbol))
                {
                    result = PositiveInfinity;
                }
                else if (sTrim.Equals(info.NegativeInfinitySymbol))
                {
                    result = NegativeInfinity;
                }
                else if (sTrim.Equals(info.NaNSymbol))
                {
                    result = NaN;
                }
                else
                {
                    return(false); // We really failed
                }
            }
            return(true);
        }
示例#2
0
        private static Boolean TryParse(ReadOnlySpan <char> s, NumberStyles style, NumberFormatInfo info, out Single result)
        {
            bool success = Number.TryParseSingle(s, style, info, out result);

            if (!success)
            {
                ReadOnlySpan <char> sTrim = s.Trim();
                if (sTrim.EqualsOrdinal(info.PositiveInfinitySymbol))
                {
                    result = PositiveInfinity;
                }
                else if (sTrim.EqualsOrdinal(info.NegativeInfinitySymbol))
                {
                    result = NegativeInfinity;
                }
                else if (sTrim.EqualsOrdinal(info.NaNSymbol))
                {
                    result = NaN;
                }
                else
                {
                    return(false); // We really failed
                }
            }
            return(true);
        }
示例#3
0
 // Token: 0x0600132E RID: 4910 RVA: 0x000385F4 File Offset: 0x000367F4
 private static bool TryParse(string s, NumberStyles style, NumberFormatInfo info, out float result)
 {
     if (s == null)
     {
         result = 0f;
         return(false);
     }
     if (!Number.TryParseSingle(s, style, info, out result))
     {
         string text = s.Trim();
         if (text.Equals(info.PositiveInfinitySymbol))
         {
             result = float.PositiveInfinity;
         }
         else if (text.Equals(info.NegativeInfinitySymbol))
         {
             result = float.NegativeInfinity;
         }
         else
         {
             if (!text.Equals(info.NaNSymbol))
             {
                 return(false);
             }
             result = float.NaN;
         }
     }
     return(true);
 }
示例#4
0
 private static bool TryParse(ReadOnlySpan <char> s, NumberStyles style, NumberFormatInfo info, out float result)
 {
     return(Number.TryParseSingle(s, style, info, out result));
 }