コード例 #1
0
ファイル: PlayFabSimpleJson.cs プロジェクト: mrdivdiz/bpvita
        private static object ParseNumber(string json, ref int index, ref bool success)
        {
            PlayFabSimpleJson.EatWhitespace(json, ref index);
            int    lastIndexOfNumber = PlayFabSimpleJson.GetLastIndexOfNumber(json, index);
            int    length            = lastIndexOfNumber - index + 1;
            string text = json.Substring(index, length);
            object result;

            if (text.IndexOf(".", StringComparison.OrdinalIgnoreCase) != -1 || text.IndexOf("e", StringComparison.OrdinalIgnoreCase) != -1)
            {
                double num;
                success = double.TryParse(json.Substring(index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num);
                result  = num;
            }
            else if (text.IndexOf("-", StringComparison.OrdinalIgnoreCase) == -1)
            {
                ulong num2;
                success = ulong.TryParse(json.Substring(index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num2);
                result  = num2;
            }
            else
            {
                long num3;
                success = long.TryParse(json.Substring(index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num3);
                result  = num3;
            }
            index = lastIndexOfNumber + 1;
            return(result);
        }