-Changed double parsing back to double.TryParse
This commit is contained in:
@@ -39,6 +39,7 @@ namespace Newtonsoft.Json.Tests.Utilities
|
||||
[TestFixture]
|
||||
public class ConvertUtilsTests : TestFixtureBase
|
||||
{
|
||||
#if HAS_CUSTOM_DOUBLE_PARSE
|
||||
private void AssertDoubleTryParse(string s, ParseResult expectedResult, double? expectedValue)
|
||||
{
|
||||
double d;
|
||||
@@ -157,6 +158,7 @@ namespace Newtonsoft.Json.Tests.Utilities
|
||||
|
||||
AssertDoubleTryParse("4.94065645841247E+555", ParseResult.Overflow, null);
|
||||
}
|
||||
#endif
|
||||
|
||||
private void AssertDecimalTryParse(string s, ParseResult expectedResult, decimal? expectedValue)
|
||||
{
|
||||
|
||||
@@ -2058,9 +2058,10 @@ namespace Newtonsoft.Json
|
||||
}
|
||||
else
|
||||
{
|
||||
string number = _stringReference.ToString();
|
||||
|
||||
double value;
|
||||
ParseResult parseResult = ConvertUtils.DoubleTryParse(_stringReference.Chars, _stringReference.StartIndex, _stringReference.Length, out value);
|
||||
if (parseResult == ParseResult.Success)
|
||||
if (double.TryParse(number, NumberStyles.Float, CultureInfo.InvariantCulture, out value))
|
||||
{
|
||||
numberValue = value;
|
||||
}
|
||||
@@ -2137,9 +2138,10 @@ namespace Newtonsoft.Json
|
||||
}
|
||||
else
|
||||
{
|
||||
string number = _stringReference.ToString();
|
||||
|
||||
double d;
|
||||
parseResult = ConvertUtils.DoubleTryParse(_stringReference.Chars, _stringReference.StartIndex, _stringReference.Length, out d);
|
||||
if (parseResult == ParseResult.Success)
|
||||
if (double.TryParse(number, NumberStyles.Float, CultureInfo.InvariantCulture, out d))
|
||||
{
|
||||
numberValue = d;
|
||||
}
|
||||
|
||||
@@ -930,6 +930,7 @@ namespace Newtonsoft.Json.Utilities
|
||||
return ParseResult.Success;
|
||||
}
|
||||
|
||||
#if HAS_CUSTOM_DOUBLE_PARSE
|
||||
private static class IEEE754
|
||||
{
|
||||
/// <summary>
|
||||
@@ -1356,6 +1357,7 @@ namespace Newtonsoft.Json.Utilities
|
||||
value = IEEE754.PackDouble(isNegative, mantissa, exponent);
|
||||
return double.IsInfinity(value) ? ParseResult.Overflow : ParseResult.Success;
|
||||
}
|
||||
#endif
|
||||
|
||||
public static ParseResult DecimalTryParse(char[] chars, int start, int length, out decimal value)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user