Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ParseJsonNumber() [2/2]

static object System.Runtime.Serialization.Json.JsonObjectDataContract.ParseJsonNumber ( string value,
out TypeCode objectTypeCode )
inlinestaticpackage

Definition at line 55 of file JsonObjectDataContract.cs.

56 {
57 if (value == null)
58 {
59 throw new XmlException(System.SR.Format(System.SR.XmlInvalidConversion, value, Globals.TypeOfInt));
60 }
61 if (value.IndexOfAny(JsonGlobals.FloatingPointCharacters) == -1)
62 {
63 if (int.TryParse(value, NumberStyles.Float, NumberFormatInfo.InvariantInfo, out var result))
64 {
65 objectTypeCode = TypeCode.Int32;
66 return result;
67 }
69 {
70 objectTypeCode = TypeCode.Int64;
71 return result2;
72 }
73 }
74 if (decimal.TryParse(value, NumberStyles.Float, NumberFormatInfo.InvariantInfo, out var result3))
75 {
76 objectTypeCode = TypeCode.Decimal;
77 if (result3 == 0m)
78 {
79 double num = XmlConverter.ToDouble(value);
80 if (num != 0.0)
81 {
82 objectTypeCode = TypeCode.Double;
83 return num;
84 }
85 }
86 return result3;
87 }
88 objectTypeCode = TypeCode.Double;
90 }
static string XmlInvalidConversion
Definition SR.cs:312
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
Definition SR.cs:7
static double ToDouble(string value)

References System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.Json.JsonGlobals.FloatingPointCharacters, System.SR.Format(), System.Globalization.NumberFormatInfo.InvariantInfo, System.Xml.XmlConverter.ToDouble(), System.Runtime.Serialization.Globals.TypeOfInt, System.value, System.Xml.XmlException, and System.SR.XmlInvalidConversion.

Referenced by System.Runtime.Serialization.Json.JsonObjectDataContract.ParseJsonNumber(), System.Runtime.Serialization.Json.JsonObjectDataContract.ReadJsonValueCore(), and System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.ReadNumericalPrimitiveExtensionDataValue().