Single.TryParse Метод

Определение

Преобразует строковое представление числа в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

Перегрузки

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Single)

Преобразует представление диапазона числа в указанном стиле и с использованием формата, соответствующего данному языку и региональным параметрам, в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(String, Single)

Преобразует строковое представление числа в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(ReadOnlySpan<Char>, Single)

Преобразует строковое представление числа в диапазоне символов в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(String, NumberStyles, IFormatProvider, Single)

Преобразует строковое представление числа в указанном стиле и с использованием формата, соответствующего данному языку и региональным параметрам, в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

Комментарии

В .NET Core 3,0 и более поздних версиях значения, которые слишком велики для представления, округляются до PositiveInfinity или в NegativeInfinity соответствии с требованиями спецификации IEEE 754. в предыдущих версиях, включая платформа .NET Framework, синтаксический анализ значения, которое слишком велико для представления результата сбоя.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Single)

Преобразует представление диапазона числа в указанном стиле и с использованием формата, соответствующего данному языку и региональным параметрам, в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out float result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out float result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * single -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Single) As Boolean

Параметры

s
ReadOnlySpan<Char>

Диапазон символов только для чтения, содержащий преобразуемое число. Диапазон интерпретируется с использованием стиля, указанного в style.

style
NumberStyles

Побитовая комбинация значений перечисления, которая показывает разрешенный формат параметра s. Обычно указывается значение Float в сочетании со значением AllowThousands.

provider
IFormatProvider

Объект, который предоставляет сведения о форматировании параметра s в зависимости от языка и региональных параметров.

result
Single

Когда этот метод возвращает значение, оно содержит эквивалент числового значения или символа, содержащегося в параметре s, представленный в виде числа с плавающей запятой одиночной точности, если преобразование прошло успешно, или нуль, если произошел сбой преобразования. Преобразование завершается неудачно, если параметр s имеет значение null или Empty, не является значением в формате, совместимом с параметром style, представляет число меньше MinValue или больше MaxValue, либо если style не является допустимой комбинацией перечисленных констант NumberStyles. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.

Возвращаемое значение

Boolean

Значение true, если параметр s успешно преобразован; в противном случае — значение false.

Комментарии

В .NET Core 3,0 и более поздних версиях значения, которые слишком велики для представления, округляются до PositiveInfinity или в NegativeInfinity соответствии с требованиями спецификации IEEE 754. в предыдущих версиях, включая платформа .NET Framework, синтаксический анализ значения, которое слишком велико для представления результата сбоя.

Применяется к

TryParse(String, Single)

Преобразует строковое представление числа в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (string s, out float result);
public static bool TryParse (string? s, out float result);
static member TryParse : string * single -> bool
Public Shared Function TryParse (s As String, ByRef result As Single) As Boolean

Параметры

s
String

Строка, представляющая преобразуемое число.

result
Single

Когда этот метод возвращает значение, оно содержит эквивалент числового значения или символа, содержащегося в параметре s, представленный в виде числа одиночной точности с плавающей запятой, если преобразование прошло успешно, или нуль, если произошел сбой преобразования. Преобразование не удается выполнить, если параметр s имеет значение null или Empty или не является числом в допустимом формате. Сбой происходит в .NET Framework и .NET Core 2.2 и более ранних версиях, если s представляет число меньше MinValue или больше MaxValue. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.

Возвращаемое значение

Boolean

Значение true, если параметр s успешно преобразован; в противном случае — значение false.

Примеры

В следующем примере метод используется TryParse(String, Single) для преобразования строковых представлений числовых значений в Single значения. Предполагается, что en-US является текущим языком и региональными параметрами.

string value;
float number;

// Parse a floating-point value with a thousands separator.
value = "1,643.57";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);

// Parse a floating-point value with a currency symbol and a
// thousands separator.
value = "$1,643.57";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);

// Parse value in exponential notation.
value = "-1.643e6";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);

// Parse a negative integer value.
value = "-168934617882109132";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);
// The example displays the following output:
//       1643.57
//       Unable to parse '$1,643.57'.
//       -164300
//       -1.689346E+17
Dim value As String
Dim number As Single

' Parse a floating-point value with a thousands separator.
value = "1,643.57"
If Single.TryParse(value, number) Then
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)
End If

' Parse a floating-point value with a currency symbol and a
' thousands separator.
value = "$1,643.57"
If Single.TryParse(value, number) Then
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)
End If

' Parse value in exponential notation.
value = "-1.643e6"
If Single.TryParse(value, number)
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)
End If

' Parse a negative integer number.
value = "-168934617882109132"
If Single.TryParse(value, number)
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)
End If
' The example displays the following output:
'       1643.57
'       Unable to parse '$1,643.57'.
'       -1643000
'       -1.689346E+17

Комментарии

В .NET Core 3,0 и более поздних версиях значения, которые слишком велики для представления, округляются до PositiveInfinity или в NegativeInfinity соответствии с требованиями спецификации IEEE 754. в предыдущих версиях, включая платформа .NET Framework, синтаксический анализ значения, которое слишком велико для представления результата сбоя.

Эта перегрузка отличается от Single.Parse(String) метода путем возвращения логического значения, которое указывает, завершилась ли операция синтаксического анализа, а не возвращать проанализированное числовое значение. Это исключает необходимость использования обработки исключений для проверки FormatException в случае, если событие s является недопустимым и его невозможно успешно проанализировать.

sПараметр может содержать PositiveInfinitySymbol , NegativeInfinitySymbol , NaNSymbol (сравнение строк учитывает регистр) или строку в формате:

Протокол писать [целые числа,] целые цифры [. [ дробные цифры]] [e [знак] экспоненциальные цифры] [ws]

Элементы в квадратных скобках являются необязательными. Каждый из элементов описан в таблице ниже.

Элемент Описание
ws Последовательность пробельных символов.
sign Знак отрицательного или положительного знака.
целые числа Последовательность числовых символов в диапазоне от 0 до 9, которые указывают целую часть числа. Целочисленные цифры могут отсутствовать, если есть дробные разряды.
, Символ разделителя группы, зависящий от языка и региональных параметров.
. Символ десятичной запятой, зависящий от языка и региональных параметров.
Дробные разряды Последовательность числовых символов в диапазоне от 0 до 9, которые указывают дробную часть числа.
E Прописная или строчная буква "e", которая указывает на экспоненциальную (экспоненциальную) нотацию.
экспоненциальные цифры Последовательность числовых символов в диапазоне от 0 до 9, задающих показатель степени.

sПараметр интерпретируется с помощью сочетания NumberStyles.Float NumberStyles.AllowThousands флагов и. Это означает, что пробелы и разделители групп разрядов разрешены, а символы валют — нет. Чтобы явно определить элементы (например, символы валют, разделители тысяч и пробелы), которые могут присутствовать в s , используйте TryParse(String, NumberStyles, IFormatProvider, Single) перегрузку метода.

sПараметр анализируется с помощью сведений о форматировании в NumberFormatInfo объекте, инициализированном для текущего языка и региональных параметров системы. Для получения дополнительной информации см. NumberFormatInfo.CurrentInfo. Чтобы выполнить синтаксический анализ строки, используя сведения о форматировании некоторых других указанных региональных параметров, используйте TryParse(String, NumberStyles, IFormatProvider, Single) перегрузку метода.

Обычно, если передать Single.TryParse методу строку, созданную путем вызова Single.ToString метода, Single возвращается исходное значение. Однако из-за потери точности значения могут не совпадать.

если s выходит за пределы диапазона Single типа данных, метод возвращает false платформа .NET Framework и .net Core 2,2 и более ранних версий. В .NET Core 3,0 и более поздних версиях возвращается значение, Single.NegativeInfinity Если s значение меньше Single.MinValue , а Single.PositiveInfinity Если s больше Single.MaxValue .

Если в s параметре во время операции синтаксического анализа обнаруживается разделитель, а применимые разделители денежных единиц или чисел в группах совпадают, то операция синтаксического анализа предполагает, что разделитель является десятичным разделителем, а не разделителем групп. Дополнительные сведения о разделителях см CurrencyDecimalSeparator . в разделе,, NumberDecimalSeparator CurrencyGroupSeparator и NumberGroupSeparator .

См. также раздел

Применяется к

TryParse(ReadOnlySpan<Char>, Single)

Преобразует строковое представление числа в диапазоне символов в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (ReadOnlySpan<char> s, out float result);
static member TryParse : ReadOnlySpan<char> * single -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Single) As Boolean

Параметры

s
ReadOnlySpan<Char>

>Диапазон символов, содержащий строковое представление числа, которое нужно преобразовать.

result
Single

При возврате этот метод содержит число одиночной точности с плавающей запятой, эквивалентное параметру s, если преобразование завершилось успешно, или нуль, если оно завершилось неудачно. Преобразование не удается выполнить, если параметр s имеет значение null или пуст или не является числом в допустимом формате. Если s является допустимым числом меньше MinValue, result имеет значение NegativeInfinity. Если s является допустимым числом больше MaxValue, result имеет значение PositiveInfinity. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.

Возвращаемое значение

Boolean

Значение true, если параметр s успешно преобразован; в противном случае — значение false.

Комментарии

В .NET Core 3,0 и более поздних версиях значения, которые слишком велики для представления, округляются до PositiveInfinity или в NegativeInfinity соответствии с требованиями спецификации IEEE 754. в предыдущих версиях, включая платформа .NET Framework, синтаксический анализ значения, которое слишком велико для представления результата сбоя.

Применяется к

TryParse(String, NumberStyles, IFormatProvider, Single)

Преобразует строковое представление числа в указанном стиле и с использованием формата, соответствующего данному языку и региональным параметрам, в эквивалентное ему число одиночной точности с плавающей запятой. Возвращает значение, указывающее, успешно ли выполнено преобразование.

public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out float result);
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out float result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * single -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Single) As Boolean

Параметры

s
String

Строка, представляющая преобразуемое число.

style
NumberStyles

Побитовая комбинация значений перечисления, которая показывает разрешенный формат параметра s. Обычно указывается значение Float в сочетании со значением AllowThousands.

provider
IFormatProvider

Объект, который предоставляет сведения о форматировании параметра s в зависимости от языка и региональных параметров.

result
Single

Когда этот метод возвращает значение, оно содержит эквивалент числового значения или символа, содержащегося в параметре s, представленный в виде числа одиночной точности с плавающей запятой, если преобразование прошло успешно, или нуль, если произошел сбой преобразования. Преобразование завершается неудачно, если параметр s имеет значение null или Empty, не является значением в формате, совместимом с параметром style или если style не является допустимой комбинацией перечисленных констант NumberStyles. Сбой происходит в .NET Framework или .NET Core 2.2 и более ранних версиях, если s представляет число меньше MinValue или больше MaxValue. Этот параметр передается неинициализированным; любое значение, первоначально предоставленное в result, будет перезаписано.

Возвращаемое значение

Boolean

Значение true, если параметр s успешно преобразован; в противном случае — значение false.

Исключения

style не является значением NumberStyles.

-или- style является значением AllowHexSpecifier.

Примеры

В следующем примере демонстрируется использование Single.TryParse(String, NumberStyles, IFormatProvider, Single) метода для синтаксического анализа строкового представления чисел с определенным стилем и форматирования с использованием соглашений определенного языка и региональных параметров.

string value;
System.Globalization.NumberStyles style;
System.Globalization.CultureInfo culture;
float number;

// Parse currency value using en-GB culture.
value = "£1,097.63";
style = System.Globalization.NumberStyles.Number |
        System.Globalization.NumberStyles.AllowCurrencySymbol;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1345,978";
style = System.Globalization.NumberStyles.AllowDecimalPoint;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1.345,978";
style = System.Globalization.NumberStyles.AllowDecimalPoint |
        System.Globalization.NumberStyles.AllowThousands;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1 345,978";
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);
// The example displays the following output:
//       Converted '£1,097.63' to 1097.63.
//       Converted '1345,978' to 1345.978.
//       Converted '1.345,978' to 1345.978.
//       Unable to convert '1 345,978'.
Dim value As String
Dim style As System.Globalization.NumberStyles
Dim culture As System.Globalization.CultureInfo
Dim number As Single

' Parse currency value using en-GB culture.
value = "£1,097.63"
style = System.Globalization.NumberStyles.Number Or _
        System.Globalization.NumberStyles.AllowCurrencySymbol
culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If

value = "1345,978"
style = System.Globalization.NumberStyles.AllowDecimalPoint
culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If

value = "1.345,978"
style = System.Globalization.NumberStyles.AllowDecimalPoint Or _
        System.Globalization.NumberStyles.AllowThousands
culture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If

value = "1 345,978"
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If
' The example displays the following output:
'       Converted '£1,097.63' to 1097.63.
'       Converted '1345,978' to 1345.978.
'       Converted '1.345,978' to 1345.978.
'       Unable to convert '1 345,978'.

Комментарии

В .NET Core 3,0 и более поздних версиях значения, которые слишком велики для представления, округляются до PositiveInfinity или в NegativeInfinity соответствии с требованиями спецификации IEEE 754. в предыдущих версиях, включая платформа .NET Framework, синтаксический анализ значения, которое слишком велико для представления результата сбоя.

Эта перегрузка отличается от Parse(String, NumberStyles, IFormatProvider) метода путем возвращения логического значения, которое указывает, завершилась ли операция синтаксического анализа, а не возвращать проанализированное числовое значение. Это исключает необходимость использования обработки исключений для проверки FormatException в случае, если событие s является недопустимым и его невозможно успешно проанализировать.

styleПараметр определяет допустимый формат s параметра для выполнения операции синтаксического анализа. Он должен представлять собой сочетание битовых флагов из NumberStyles перечисления. Следующие NumberStyles члены не поддерживаются:

sПараметр может содержать PositiveInfinitySymbol , NegativeInfinitySymbol , NaNSymbol для языка и региональных параметров, указанных в provider . Кроме того, в зависимости от значения style s параметр может включать следующие элементы:

Протокол [$] писать [целые числа,] целочисленные цифры [. дробные цифры] [e [знак] экспоненциальные цифры] [ws]

Элементы в квадратных скобках ([и]) являются необязательными. Каждый из элементов описан в таблице ниже.

Элемент Описание
ws Необязательный пробел. Пробелы могут присутствовать в начале, s Если style включает NumberStyles.AllowLeadingWhite флаг. Он может находиться в конце, s Если style включает NumberStyles.AllowTrailingWhite флаг.
$ Символ валюты, зависящий от языка и региональных параметров. Его расположение в строке определяется NumberFormatInfo.CurrencyNegativePattern NumberFormatInfo.CurrencyPositivePattern свойствами или объекта, NumberFormatInfo возвращаемыми IFormatProvider.GetFormat методом provider параметра. Символ валюты может отображаться в s , если style включает NumberStyles.AllowCurrencySymbol флаг.
sign Необязательный знак. Знак может присутствовать в начале s style , если включает NumberStyles.AllowLeadingSign флаг, и может находиться в конце, s Если style включает NumberStyles.AllowTrailingSign флаг. Круглые скобки могут использоваться в s , чтобы указать отрицательное значение, если style включает NumberStyles.AllowParentheses флаг.
целые числа Последовательность цифр от 0 до 9, указывающих целую часть числа. Целочисленные цифры могут отсутствовать, если есть дробные разряды.
, Символ разделителя тысяч, зависящий от языка и региональных параметров. Символ разделителя тысяч текущего языка и региональных параметров может отображаться в, s Если style включает NumberStyles.AllowThousands флаг.
. Символ десятичной запятой, зависящий от языка и региональных параметров. Символ десятичной запятой текущего языка и региональных параметров может присутствовать в, s Если style включает NumberStyles.AllowDecimalPoint флаг.
Дробные разряды Последовательность цифр от 0 до 9, которая указывает дробную часть числа. Дробные цифры могут присутствовать s в style , если включает NumberStyles.AllowDecimalPoint флаг.
e Символ e или E, который указывает, что s может представлять число, используя экспоненциальную нотацию. sПараметр может представлять число в экспоненциальной нотации, если стиль включает NumberStyles.AllowExponent флаг.
экспоненциальные цифры Последовательность цифр от 0 до 9, указывающая показатель степени.

Примечание

Все завершающие символы NUL (U + 0000) в s игнорируются операцией синтаксического анализа, независимо от значения style аргумента.

Строка с цифрами (которая соответствует NumberStyles.None стилю) всегда анализируется успешно, если она находится в диапазоне Single типа. Остальные элементы System.Globalization.NumberStyles управляют элементами, которые могут быть, но не обязательно присутствовать во входной строке. В следующей таблице показано, как отдельные NumberStyles Флаги влияют на элементы, которые могут присутствовать в s .

Значение NumberStyles Элементы, разрешенные в s в дополнение к цифрам
None Только элемент с целыми цифрами .
AllowDecimalPoint Языковой элемент . и дробные разрядные элементы.
AllowExponent sПараметр также может использовать экспоненциальную нотацию. Этот флаг сам по себе поддерживает значения в виде экспоненциальных разрядов E- цифр. Дополнительные флаги необходимы для успешного анализа строк в экспоненциальной нотации с такими элементами, как положительные или отрицательные знаки и символы десятичной запятой.
AllowLeadingWhite Элемент WS в начале s .
AllowTrailingWhite Элемент WS в конце s .
AllowLeadingSign Элемент Sign в начале s .
AllowTrailingSign Элемент Sign в конце s .
AllowParentheses Элемент Sign в виде круглых скобок, охватывающих числовое значение.
AllowThousands Элемент , .
AllowCurrencySymbol $ Элемент.
Currency Все. sПараметр не может представлять шестнадцатеричное число или число в экспоненциальной нотации.
Float Элемент WS в начале или конце s , знак в начале s и . знак. sПараметр также может использовать экспоненциальную нотацию.
Number wsЭлементы, sign , тысячные разделители (,) и десятичные точки (.).
Any Все стили, кроме, s не могут представлять шестнадцатеричное число.

providerПараметр — это IFormatProvider реализация, метод которой GetFormat возвращает NumberFormatInfo объект, предоставляющий сведения об особенностях форматирования, связанных с языком и региональными параметрами. При TryParse(String, NumberStyles, IFormatProvider, Single) вызове метода он вызывает provider GetFormat метод параметра и передает ему Type объект, представляющий NumberFormatInfo тип. GetFormatЗатем метод возвращает NumberFormatInfo объект, предоставляющий сведения о формате s параметра. Существует три способа использования provider параметра для предоставления сведений о пользовательском форматировании операции синтаксического анализа:

  • Можно передать CultureInfo объект, представляющий язык и региональные параметры, которые предоставляют сведения о форматировании. Его GetFormat метод возвращает NumberFormatInfo объект, предоставляющий сведения о форматировании числовых значений для этого языка и региональных параметров.

  • Можно передать фактический NumberFormatInfo объект, предоставляющий сведения о форматировании чисел. (Его реализация GetFormat просто возвращает сам себя.)

  • Можно передать пользовательский объект, реализующий интерфейс IFormatProvider . Его GetFormat метод создает экземпляр и возвращает NumberFormatInfo объект, предоставляющий сведения о форматировании.

Если provider имеет значение null , форматирование s интерпретируется на основе NumberFormatInfo объекта текущего языка и региональных параметров.

если s выходит за пределы диапазона Single типа данных, метод создает исключение OverflowException в платформа .NET Framework и .net Core 2,2 и более ранних версиях. В .NET Core 3,0 и более поздних версиях возвращается значение, Single.NegativeInfinity Если s значение меньше Single.MinValue , а Single.PositiveInfinity Если s больше Single.MaxValue .

Если в s параметре во время операции синтаксического анализа обнаруживается разделитель, а применимые разделители денежных единиц или чисел в группах совпадают, то операция синтаксического анализа предполагает, что разделитель является десятичным разделителем, а не разделителем групп. Дополнительные сведения о разделителях см CurrencyDecimalSeparator . в разделе,, NumberDecimalSeparator CurrencyGroupSeparator и NumberGroupSeparator .

См. также раздел

Применяется к