Skip to content

Commit 510273a

Browse files
authored
Fix incorrect case sensitivity in floating-point number parsing methods (#11641)
1 parent c8dd029 commit 510273a

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

xml/System/Double.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4814,7 +4814,7 @@ The following code example illustrates the use of <xref:System.Double.NegativeIn
48144814
## Remarks
48154815
In .NET Core 3.0 and later, values that are too large to represent are rounded to <xref:System.Double.PositiveInfinity> or <xref:System.Double.NegativeInfinity> as required by the IEEE 754 specification. In prior versions, including .NET Framework, parsing a value that was too large to represent resulted in failure.
48164816

4817-
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType>, or a string of the form:
4817+
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. The `s` parameter can also be a string of the form:
48184818

48194819
[*ws*][*sign*][*integral-digits*[*,*]]*integral-digits*[*.*[*fractional-digits*]][E[*sign*]*exponential-digits*][*ws*]
48204820

@@ -5020,7 +5020,7 @@ If a separator is encountered in the `s` parameter during a parse operation, and
50205020

50215021
- <xref:System.Globalization.NumberStyles.HexNumber>
50225022

5023-
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType>. Depending on the value of `style`, it can also take the form:
5023+
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. Depending on the value of `style`, the `s` parameter can also take the form:
50245024

50255025
[*ws*][*$*][*sign*][*integral-digits*[*,*]]*integral-digits*[*.*[*fractional-digits*]][E[*sign*]*exponential-digits*][*ws*]
50265026

@@ -5168,7 +5168,7 @@ If a separator is encountered in the `s` parameter during a parse operation, and
51685168

51695169
This overload of the <xref:System.Double.Parse%28System.String%2CSystem.IFormatProvider%29> method is typically used to convert text that can be formatted in a variety of ways to a <xref:System.Double> value. For example, it can be used to convert the text that is entered by a user into an HTML text box to a numeric value.
51705170

5171-
The `s` parameter is interpreted using a combination of the <xref:System.Globalization.NumberStyles.Float?displayProperty=nameWithType> and <xref:System.Globalization.NumberStyles.AllowThousands?displayProperty=nameWithType> flags. The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> for the culture specified by `provider`, or it can contain a string of the form:
5171+
The `s` parameter is interpreted using a combination of the <xref:System.Globalization.NumberStyles.Float?displayProperty=nameWithType> and <xref:System.Globalization.NumberStyles.AllowThousands?displayProperty=nameWithType> flags. The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol for the culture specified by `provider`. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. The `s` parameter can also contain a string of the form:
51725172

51735173
[*ws*][*sign*]*integral-digits*[*.*[*fractional-digits*]][E[*sign*]*exponential-digits*][*ws*]
51745174

@@ -5409,7 +5409,7 @@ If `s` is out of range of the <xref:System.Double> data type, the method returns
54095409

54105410
- <xref:System.Globalization.NumberStyles.HexNumber>
54115411

5412-
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> for the culture specified by `provider`. Depending on the value of `style`, it can also take the form:
5412+
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol for the culture specified by `provider`. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. Depending on the value of `style`, the `s` parameter can also take the form:
54135413

54145414
[*ws*] [*$*] [*sign*][*integral-digits*,]*integral-digits*[.[*fractional-digits*]][E[*sign*]*exponential-digits*][*ws*]
54155415

@@ -10055,7 +10055,7 @@ Tau is approximately 6.2831853071795864769.
1005510055

1005610056
This overload differs from the <xref:System.Double.Parse%28System.String%29?displayProperty=nameWithType> method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed numeric value. It eliminates the need to use exception handling to test for a <xref:System.FormatException> in the event that `s` is invalid and cannot be successfully parsed.
1005710057

10058-
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> (the string comparison is case-sensitive), or a string of the form:
10058+
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. The `s` parameter can also be a string of the form:
1005910059

1006010060
[ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]
1006110061

@@ -10431,7 +10431,7 @@ If a separator is encountered in the `s` parameter during a parse operation, and
1043110431

1043210432
- <xref:System.Globalization.NumberStyles.HexNumber?displayProperty=nameWithType>
1043310433

10434-
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> for the culture indicated by `provider`. In addition, depending on the value of `style`, the `s` parameter may include the following elements:
10434+
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol for the culture indicated by `provider`. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. In addition, depending on the value of `style`, the `s` parameter may include the following elements:
1043510435

1043610436
[ws] [$] [sign][integral-digits,]integral-digits[.fractional-digits][e[sign]exponential-digits][ws]
1043710437

xml/System/Single.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4836,7 +4836,7 @@ For <xref:System.Numerics.IFloatingPoint%601> this method matches the IEEE 754:2
48364836
## Remarks
48374837
In .NET Core 3.0 and later, values that are too large to represent are rounded to <xref:System.Single.PositiveInfinity> or <xref:System.Single.NegativeInfinity> as required by the IEEE 754 specification. In prior versions, including .NET Framework, parsing a value that was too large to represent resulted in failure.
48384838

4839-
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A>, or a string of the form:
4839+
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A> symbol. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. The `s` parameter can also be a string of the form:
48404840

48414841
[*ws*][*sign*] [*integral-digits*[*,*]]*integral-digits*[*.*[*fractional-digits*]][e[*sign*]*exponential-digits*][*ws*]
48424842

@@ -5035,7 +5035,7 @@ If a separator is encountered in the `s` parameter during a parse operation, and
50355035

50365036
- <xref:System.Globalization.NumberStyles.HexNumber>
50375037

5038-
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A>. Depending on the value of `style`, it can also take the form:
5038+
The `s` parameter can contain the current culture's <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A> symbol. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. Depending on the value of `style`, the `s` parameter can also take the form:
50395039

50405040
[*ws*][*$*][*sign*][*integral-digits*[*,*]]*integral-digits*[*.*[*fractional-digits*]][E[*sign*]*exponential-digits*][*ws*]
50415041

@@ -5194,7 +5194,7 @@ If a separator is encountered in the `s` parameter during a parse operation, and
51945194

51955195
This overload is typically used to convert text that can be formatted in a variety of ways to a <xref:System.Single> value. For example, it can be used to convert the text entered by a user into an HTML text box to a numeric value.
51965196

5197-
The `s` parameter is interpreted using a combination of the <xref:System.Globalization.NumberStyles.Float?displayProperty=nameWithType> and <xref:System.Globalization.NumberStyles.AllowThousands?displayProperty=nameWithType> flags. The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> for the culture specified by `provider`, or it can contain a string of the form:
5197+
The `s` parameter is interpreted using a combination of the <xref:System.Globalization.NumberStyles.Float?displayProperty=nameWithType> and <xref:System.Globalization.NumberStyles.AllowThousands?displayProperty=nameWithType> flags. The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol for the culture specified by `provider`. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. The `s` parameter can contain a string of the form:
51985198

51995199
[*ws*][*sign*]*integral-digits*[*.*[*fractional-digits*]][E[*sign*]*exponential-digits*][*ws*]
52005200

@@ -5437,7 +5437,7 @@ If `s` is out of range of the <xref:System.Single> data type, the method returns
54375437

54385438
- <xref:System.Globalization.NumberStyles.HexNumber>
54395439

5440-
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> for the culture specified by `provider`. Depending on the value of `style`, it can also take the form:
5440+
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A?displayProperty=nameWithType>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A?displayProperty=nameWithType>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A?displayProperty=nameWithType> symbol for the culture specified by `provider`. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. Depending on the value of `style`, the `s` parameter can also take the form:
54415441

54425442
[*ws*] [*$*] [*sign*][*integral-digits*,]*integral-digits*[.[*fractional-digits*]][E[*sign*]*exponential-digits*][*ws*]
54435443

@@ -10056,7 +10056,7 @@ Tau is approximately 6.2831853071795864769.
1005610056

1005710057
This overload differs from the <xref:System.Single.Parse%28System.String%29?displayProperty=nameWithType> method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed numeric value. It eliminates the need to use exception handling to test for a <xref:System.FormatException> in the event that `s` is invalid and cannot be successfully parsed.
1005810058

10059-
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A> (the string comparison is case-sensitive), or a string of the form:
10059+
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A> symbol. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. The `s` parameter can also be a string of the form:
1006010060

1006110061
[ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]
1006210062

@@ -10423,7 +10423,7 @@ If a separator is encountered in the `s` parameter during a parse operation, and
1042310423

1042410424
- <xref:System.Globalization.NumberStyles.HexNumber?displayProperty=nameWithType>
1042510425

10426-
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A> for the culture indicated by `provider`. In addition, depending on the value of `style`, the `s` parameter may include the following elements:
10426+
The `s` parameter can contain <xref:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol%2A>, <xref:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol%2A>, or <xref:System.Globalization.NumberFormatInfo.NaNSymbol%2A> symbol for the culture indicated by `provider`. This string comparison is case-insensitive in .NET Core 3.0 and later versions, but is case-sensitive in prior versions including .NET Framework. In addition, depending on the value of `style`, the `s` parameter may include the following elements:
1042710427

1042810428
[ws] [$] [sign][integral-digits,]integral-digits[.fractional-digits][e[sign]exponential-digits][ws]
1042910429

0 commit comments

Comments
 (0)