Прочитать на английском

Поделиться через


Int16.Parse Метод

Определение

Преобразует строковое представление числа в 16-разрядное целое число со знаком.

Перегрузки

Parse(String, NumberStyles, IFormatProvider)

Преобразует строковое представление числа в указанном стиле и формате языка и региональных параметров в его 16-разрядное целое число со знаком.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Преобразует представление диапазона числа в указанном стиле и формате языка и региональных параметров в его 16-разрядное целое число со знаком.

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Анализирует диапазон символов UTF-8 в значение.

Parse(String, IFormatProvider)

Преобразует строковое представление числа в указанном формате языка и региональных параметров в его 16-разрядное целое число со знаком.

Parse(String)

Преобразует строковое представление числа в 16-разрядное целое число со знаком.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Анализирует диапазон символов в значение.

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Анализирует диапазон символов UTF-8 в значение.

Parse(String, NumberStyles)

Преобразует строковое представление числа в указанном стиле в его 16-разрядное целое число со знаком.

Parse(String, NumberStyles, IFormatProvider)

Исходный код:
Int16.cs
Исходный код:
Int16.cs
Исходный код:
Int16.cs

Преобразует строковое представление числа в указанном стиле и формате языка и региональных параметров в его 16-разрядное целое число со знаком.

public static short Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static short Parse (string s, System.Globalization.NumberStyles style, IFormatProvider? provider);

Параметры

s
String

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

style
NumberStyles

Побитовое сочетание значений перечисления, указывающее элементы стиля, которые могут присутствовать в s. Обычное значение, указываемое, — Integer.

provider
IFormatProvider

IFormatProvider, предоставляющий сведения о форматировании, относящиеся к языку и региональным параметрам, о s.

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

16-разрядное целое число со знаком, эквивалентное числу, указанному в s.

Реализации

Исключения

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

-или-

style не является сочетанием значений AllowHexSpecifier и HexNumber.

s не соответствует формату style.

s представляет число меньше Int16.MinValue или больше Int16.MaxValue.

-или-

s включает ненулевые дробные цифры.

Примеры

В следующем примере используются различные параметры style и provider для анализа строковых представлений значений Int16.

string value;
short number;
NumberStyles style;
CultureInfo provider;

// Parse string using "." as the thousands separator
// and " " as the decimal separator.
value = "19 694,00";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands;
provider = new CultureInfo("fr-FR");

number = Int16.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '19 694,00' converted to 19694.

try
{
   number = Int16.Parse(value, style, CultureInfo.InvariantCulture);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '19 694,00'.

// Parse string using "$" as the currency symbol for en_GB and
// en-US cultures.
value = "$6,032.00";
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
provider = new CultureInfo("en-GB");

try
{
   number = Int16.Parse(value, style, CultureInfo.InvariantCulture);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '$6,032.00'.

provider = new CultureInfo("en-US");
number = Int16.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '$6,032.00' converted to 6032.

Комментарии

Параметр style определяет элементы стиля (например, пробел или положительный знак), которые разрешены в параметре s для успешной операции синтаксического анализа. Это должно быть сочетание битовых флагов из перечисления NumberStyles. В зависимости от значения styleпараметр s может включать следующие элементы:

[ws] [$] [знак] [цифры,]цифры[.fractional_digits][знак][знак][цифры][ws]

Или, если style включает AllowHexSpecifier:

[ws]hexdigits[ws]

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

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

Примечание

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

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

Не составные значения NumberStyles Элементы, разрешенные в s в дополнение к цифрам
NumberStyles.None Только десятичные цифры.
NumberStyles.AllowDecimalPoint . элементы и fractional_digits. Однако fractional_digits должны состоять только из одной или нескольких цифр 0 или OverflowException возникает.
NumberStyles.AllowExponent Параметр s также может использовать экспоненциальную нотацию.
NumberStyles.AllowLeadingWhite Элемент ws в начале s.
NumberStyles.AllowTrailingWhite Элемент ws в конце s.
NumberStyles.AllowLeadingSign Знак может появиться перед цифрами.
NumberStyles.AllowTrailingSign Знак может появиться после цифр.
NumberStyles.AllowParentheses Элемент знака в виде круглых скобок, включающей числовое значение.
NumberStyles.AllowThousands Элемент ,.
NumberStyles.AllowCurrencySymbol Элемент $.

Если используется флаг NumberStyles.AllowHexSpecifier, s должен быть строковым представлением шестнадцатеричного значения без префикса. Например, синтаксический анализ 9AF3 выполняется успешно, но "0x9AF3" не выполняется. Единственными другими флагами, которые могут присутствовать в style, являются NumberStyles.AllowLeadingWhite и NumberStyles.AllowTrailingWhite. (Перечисление NumberStyles имеет составной стиль чисел, NumberStyles.HexNumber, который включает как флаги пробелов.)

Параметр provider — это реализация IFormatProvider, метод GetFormat которого получает объект NumberFormatInfo. Объект NumberFormatInfo предоставляет сведения о формате sдля языка и региональных параметров. Если providernull, используется объект NumberFormatInfo для текущего языка и региональных параметров.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Исходный код:
Int16.cs
Исходный код:
Int16.cs
Исходный код:
Int16.cs

Преобразует представление диапазона числа в указанном стиле и формате языка и региональных параметров в его 16-разрядное целое число со знаком.

public static short Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
public static short Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);

Параметры

s
ReadOnlySpan<Char>

Диапазон, содержащий символы, представляющие число для преобразования.

style
NumberStyles

Побитовое сочетание значений перечисления, указывающее элементы стиля, которые могут присутствовать в s. Обычное значение, указываемое, — Integer.

provider
IFormatProvider

IFormatProvider, предоставляющий сведения о форматировании, относящиеся к языку и региональным параметрам, о s.

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

16-разрядное целое число со знаком, эквивалентное числу, указанному в s.

Реализации

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

.NET 9 и другие версии
Продукт Версии
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Исходный код:
Int16.cs
Исходный код:
Int16.cs

Анализирует диапазон символов UTF-8 в значение.

public static short Parse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);

Параметры

utf8Text
ReadOnlySpan<Byte>

Диапазон символов UTF-8 для анализа.

style
NumberStyles

Побитовое сочетание стилей чисел, которые могут присутствовать в utf8Text.

provider
IFormatProvider

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

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

Результат синтаксического анализа utf8Text.

Реализации

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

.NET 9 и .NET 8
Продукт Версии
.NET 8, 9

Parse(String, IFormatProvider)

Исходный код:
Int16.cs
Исходный код:
Int16.cs
Исходный код:
Int16.cs

Преобразует строковое представление числа в указанном формате языка и региональных параметров в его 16-разрядное целое число со знаком.

public static short Parse (string s, IFormatProvider provider);
public static short Parse (string s, IFormatProvider? provider);

Параметры

s
String

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

provider
IFormatProvider

IFormatProvider, предоставляющий сведения о форматировании, относящиеся к языку и региональным параметрам, о s.

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

16-разрядное целое число со знаком, эквивалентное числу, указанному в s.

Реализации

Исключения

s не соответствует правильному формату.

s представляет число меньше Int16.MinValue или больше Int16.MaxValue.

Примеры

В следующем примере анализируется строковое представление значений Int16 с помощью метода Int16.Parse(String, IFormatProvider).

string stringToConvert;
short number;

stringToConvert = " 214 ";
try
{
   number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
   Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
   Console.WriteLine("'{0'} is out of range of the Int16 data type.",
                     stringToConvert);
}

stringToConvert = " + 214";
try
{
   number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
   Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
   Console.WriteLine("'{0'} is out of range of the Int16 data type.",
                     stringToConvert);
}

stringToConvert = " +214 ";
try
{
   number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
   Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
   Console.WriteLine("'{0'} is out of range of the Int16 data type.",
                     stringToConvert);
}
// The example displays the following output to the console:
//       Converted ' 214 ' to 214.
//       Unable to parse ' + 214'.
//       Converted ' +214 ' to 214.

Комментарии

Параметр s содержит ряд форм:

[ws] [знак]цифры[ws]

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

Элемент Описание
ws Необязательный пробел.
знак Необязательный знак.
Цифр Последовательность цифр от 0 до 9.

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

Параметр provider — это реализация IFormatProvider, которая получает объект NumberFormatInfo. В NumberFormatInfo содержатся сведения о формате sдля конкретного языка и региональных параметров. Если providernull, используется NumberFormatInfo для текущего языка и региональных параметров.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse(String)

Исходный код:
Int16.cs
Исходный код:
Int16.cs
Исходный код:
Int16.cs

Преобразует строковое представление числа в 16-разрядное целое число со знаком.

public static short Parse (string s);

Параметры

s
String

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

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

16-разрядное целое число со знаком, эквивалентное числу, содержаемого в s.

Исключения

s не соответствует правильному формату.

s представляет число меньше Int16.MinValue или больше Int16.MaxValue.

Примеры

В следующем примере показано, как преобразовать строковое значение в 16-разрядное целое число со знаком с помощью метода Int16.Parse(String). После этого целочисленное значение отображается в консоли.

string value;
short number;

value = " 12603 ";
try
{
   number = Int16.Parse(value);
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
                     value);
}

value = " 16,054";
try
{
   number = Int16.Parse(value);
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
                     value);
}

value = " -17264";
try
{
   number = Int16.Parse(value);
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
                     value);
}
// The example displays the following output to the console:
//       Converted ' 12603 ' to 12603.
//       Unable to convert ' 16,054' to a 16-bit signed integer.
//       Converted ' -17264' to -17264.

Комментарии

Параметр s содержит ряд форм:

[ws] [знак]цифры[ws]

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

Элемент Описание
ws Необязательный пробел.
знак Необязательный знак.
цифры Последовательность цифр от 0 до 9.

Параметр s интерпретируется с помощью стиля NumberStyles.Integer. Помимо десятичных цифр целочисленного значения, допускаются только начальные и конечные пробелы вместе с начальным знаком. Чтобы явно определить элементы стиля, которые могут присутствовать в s, используйте Int16.Parse(String, NumberStyles) или метод Parse.

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Parse(ReadOnlySpan<Char>, IFormatProvider)

Исходный код:
Int16.cs
Исходный код:
Int16.cs
Исходный код:
Int16.cs

Анализирует диапазон символов в значение.

public static short Parse (ReadOnlySpan<char> s, IFormatProvider? provider);

Параметры

s
ReadOnlySpan<Char>

Диапазон символов для синтаксического анализа.

provider
IFormatProvider

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

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

Результат синтаксического анализа s.

Реализации

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

.NET 9 и другие версии
Продукт Версии
.NET 7, 8, 9

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Исходный код:
Int16.cs
Исходный код:
Int16.cs

Анализирует диапазон символов UTF-8 в значение.

public static short Parse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);

Параметры

utf8Text
ReadOnlySpan<Byte>

Диапазон символов UTF-8 для анализа.

provider
IFormatProvider

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

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

Результат синтаксического анализа utf8Text.

Реализации

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

.NET 9 и .NET 8
Продукт Версии
.NET 8, 9

Parse(String, NumberStyles)

Исходный код:
Int16.cs
Исходный код:
Int16.cs
Исходный код:
Int16.cs

Преобразует строковое представление числа в указанном стиле в его 16-разрядное целое число со знаком.

public static short Parse (string s, System.Globalization.NumberStyles style);

Параметры

s
String

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

style
NumberStyles

Побитовое сочетание значений перечисления, указывающее элементы стиля, которые могут присутствовать в s. Обычное значение, указываемое, — Integer.

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

16-разрядное целое число со знаком, эквивалентное числу, указанному в s.

Исключения

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

-или-

style не является сочетанием значений AllowHexSpecifier и HexNumber.

s не соответствует формату style.

s представляет число меньше Int16.MinValue или больше Int16.MaxValue.

-или-

s включает ненулевые дробные цифры.

Примеры

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

using System;
using System.Globalization;

public class ParseSample
{
   public static void Main()
   {
      string value;
      NumberStyles style;

      // Parse a number with a thousands separator (throws an exception).
      value = "14,644";
      style = NumberStyles.None;
      ParseToInt16(value, style);

      style = NumberStyles.AllowThousands;
      ParseToInt16(value, style);

      // Parse a number with a thousands separator and decimal point.
      value = "14,644.00";
      style = NumberStyles.AllowThousands | NumberStyles.Integer |
              NumberStyles.AllowDecimalPoint;
      ParseToInt16(value, style);

      // Parse a number with a fractional component (throws an exception).
      value = "14,644.001";
      ParseToInt16(value, style);

      // Parse a number in exponential notation.
      value = "145E02";
      style = style | NumberStyles.AllowExponent;
      ParseToInt16(value, style);

      // Parse a number in exponential notation with a positive sign.
      value = "145E+02";
      ParseToInt16(value, style);

      // Parse a number in exponential notation with a negative sign
      // (throws an exception).
      value = "145E-02";
      ParseToInt16(value, style);
   }

   private static void ParseToInt16(string value, NumberStyles style)
   {
      try
      {
         short number = Int16.Parse(value, style);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to parse '{0}' with style {1}.", value,
                           style.ToString());
      }
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int16 type.", value);
      }
   }
}
// The example displays the following output to the console:
//       Unable to parse '14,644' with style None.
//       Converted '14,644' to 14644.
//       Converted '14,644.00' to 14644.
//       '14,644.001' is out of range of the Int16 type.
//       Converted '145E02' to 14500.
//       Converted '145E+02' to 14500.
//       '145E-02' is out of range of the Int16 type.

Комментарии

Параметр style определяет элементы стиля (например, пробел или символ знака), которые разрешены в параметре s для успешной операции синтаксического анализа. Это должно быть сочетание битовых флагов из перечисления NumberStyles. В зависимости от значения styleпараметр s может включать следующие элементы:

[ws] [$] [знак] [цифры,]цифры[.fractional_digits][знак][знак][цифры][ws]

Или, если style включает AllowHexSpecifier:

[ws]hexdigits[ws]

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

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

Примечание

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

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

Не составные значения NumberStyles Элементы, разрешенные в s в дополнение к цифрам
NumberStyles.None Только десятичные цифры.
NumberStyles.AllowDecimalPoint . элементы и fractional_digits. Однако fractional_digits должны состоять только из одной или нескольких цифр 0 или OverflowException возникает.
NumberStyles.AllowExponent Параметр s также может использовать экспоненциальную нотацию.
NumberStyles.AllowLeadingWhite Элемент ws в начале s.
NumberStyles.AllowTrailingWhite Элемент ws в конце s.
NumberStyles.AllowLeadingSign Знак может появиться перед цифрами.
NumberStyles.AllowTrailingSign Знак может появиться после цифр.
NumberStyles.AllowParentheses Элемент знака в виде круглых скобок, включающей числовое значение.
NumberStyles.AllowThousands Элемент ,.
NumberStyles.AllowCurrencySymbol Элемент $.

Если используется флаг NumberStyles.AllowHexSpecifier, s должен быть строковым представлением шестнадцатеричного значения без префикса. Например, синтаксический анализ 9AF3 выполняется успешно, но "0x9AF3" не выполняется. Единственными другими флагами, которые могут присутствовать в style, являются NumberStyles.AllowLeadingWhite и NumberStyles.AllowTrailingWhite. (Перечисление NumberStyles имеет составной стиль чисел, NumberStyles.HexNumber, который включает как флаги пробелов.)

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0