UInt32.Parse UInt32.Parse UInt32.Parse UInt32.Parse Method

Определение

Преобразует строковое представление числа в эквивалентное ему 32-битовое целое число без знака.Converts the string representation of a number to its 32-bit unsigned integer equivalent.

Перегрузки

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Преобразует строковое представление числа в формате, соответствующем стилю, языку и региональным параметрам, в эквивалентное ему 32-битовое целое число без знака.Converts the string representation of a number in a specified style and culture-specific format to its 32-bit unsigned integer equivalent.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Преобразует строковое представление числа в указанном формате в эквивалентное ему 32-битовое целое число без знака.Converts the string representation of a number in a specified style to its 32-bit unsigned integer equivalent.

Parse(String) Parse(String) Parse(String) Parse(String)

Преобразует строковое представление числа в эквивалентное ему 32-битовое целое число без знака.Converts the string representation of a number to its 32-bit unsigned integer equivalent.

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Преобразует строковое представление числа в эквивалентное ему 32-разрядное целое число без знака в указанном формате, соответствующем языку и региональным параметрам.Converts the string representation of a number in a specified culture-specific format to its 32-bit unsigned integer equivalent.

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Важно!

Этот API несовместим с CLS.

Альтернативный вариант, совместимый с CLS
System.Int64.Parse(String)

Преобразует строковое представление числа в формате, соответствующем стилю, языку и региональным параметрам, в эквивалентное ему 32-битовое целое число без знака.Converts the string representation of a number in a specified style and culture-specific format to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static uint Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint32
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As UInteger

Параметры

s
String String String String

Строка, содержащая число для преобразования.A string representing the number to convert. Строка интерпретируется с использованием стиля, указанного параметром style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Побитовое сочетание значений перечисления, обозначающих элементы стиля, которые могут быть представлены в параметре s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Обычно указывается значение Integer.A typical value to specify is Integer.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Объект, который предоставляет сведения о форматировании параметра s в зависимости от языка и региональных параметров.An object that supplies culture-specific formatting information about s.

Возвраты

32-битовое целое число без знака, эквивалентное числу, заданному параметром s.A 32-bit unsigned integer equivalent to the number specified in s.

Исключения

style не является значением NumberStyles.style is not a NumberStyles value.

-или--or- style не является сочетанием значений AllowHexSpecifier и HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s не представлен в формате, совместимом с style.s is not in a format compliant with style.

Параметр s представляет число меньше MinValue или больше MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

-или--or- s содержит ненулевые дробные разряды.s includes non-zero, fractional digits.

Примеры

В следующем примере используется Parse(String, NumberStyles, IFormatProvider) метод преобразования различные строковые представления чисел в 32-разрядных целочисленных значений без знака.The following example uses the Parse(String, NumberStyles, IFormatProvider) method to convert various string representations of numbers to 32-bit unsigned integer values.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] cultureNames= { "en-US", "fr-FR" };
      NumberStyles[] styles= { NumberStyles.Integer,
                               NumberStyles.Integer | NumberStyles.AllowDecimalPoint };
      string[] values = { "170209", "+170209.0", "+170209,0", "-103214.00",
                                 "-103214,00", "104561.1", "104561,1" };
      
      // Parse strings using each culture
      foreach (string cultureName in cultureNames)
      {
         CultureInfo ci = new CultureInfo(cultureName);
         Console.WriteLine("Parsing strings using the {0} culture", 
                           ci.DisplayName);
         // Use each style.
         foreach (NumberStyles style in styles)
         {
            Console.WriteLine("   Style: {0}", style.ToString());
            // Parse each numeric string.
            foreach (string value in values)
            {
               try {
                  Console.WriteLine("      Converted '{0}' to {1}.", value,
                                    UInt32.Parse(value, style, ci));
               }
               catch (FormatException) {
                  Console.WriteLine("      Unable to parse '{0}'.", value);
               }      
               catch (OverflowException) {
                  Console.WriteLine("      '{0}' is out of range of the UInt32 type.",
                                    value);
               }
            }
         }
      }                                    
   }
}
// The example displays the following output:
//       Parsing strings using the English (United States) culture
//          Style: Integer
//             Converted '170209' to 170209.
//             Unable to parse '+170209.0'.
//             Unable to parse '+170209,0'.
//             Unable to parse '-103214.00'.
//             Unable to parse '-103214,00'.
//             Unable to parse '104561.1'.
//             Unable to parse '104561,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '170209' to 170209.
//             Converted '+170209.0' to 170209.
//             Unable to parse '+170209,0'.
//             '-103214.00' is out of range of the UInt32 type.
//             Unable to parse '-103214,00'.
//             '104561.1' is out of range of the UInt32 type.
//             Unable to parse '104561,1'.
//       Parsing strings using the French (France) culture
//          Style: Integer
//             Converted '170209' to 170209.
//             Unable to parse '+170209.0'.
//             Unable to parse '+170209,0'.
//             Unable to parse '-103214.00'.
//             Unable to parse '-103214,00'.
//             Unable to parse '104561.1'.
//             Unable to parse '104561,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '170209' to 170209.
//             Unable to parse '+170209.0'.
//             Converted '+170209,0' to 170209.
//             Unable to parse '-103214.00'.
//             '-103214,00' is out of range of the UInt32 type.
//             Unable to parse '104561.1'.
//             '104561,1' is out of range of the UInt32 type.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR" }
      Dim styles() As NumberStyles = { NumberStyles.Integer, _
                                       NumberStyles.Integer Or NumberStyles.AllowDecimalPoint }
      Dim values() As String = { "170209", "+170209.0", "+170209,0", "-103214.00", _
                                 "-103214,00", "104561.1", "104561,1" }
      
      ' Parse strings using each culture
      For Each cultureName As String In cultureNames
         Dim ci As New CultureInfo(cultureName)
         Console.WriteLine("Parsing strings using the {0} culture", ci.DisplayName)
         ' Use each style.
         For Each style As NumberStyles In styles
            Console.WriteLine("   Style: {0}", style.ToString())
            ' Parse each numeric string.
            For Each value As String In values
               Try
                  Console.WriteLine("      Converted '{0}' to {1}.", value, _
                                    UInt32.Parse(value, style, ci))
               Catch e As FormatException
                  Console.WriteLine("      Unable to parse '{0}'.", value)   
               Catch e As OverflowException
                  Console.WriteLine("      '{0}' is out of range of the UInt32 type.", _
                                    value)         
               End Try
            Next
         Next
      Next                                    
   End Sub
End Module
' The example displays the following output:
'       Parsing strings using the English (United States) culture
'          Style: Integer
'             Converted '170209' to 170209.
'             Unable to parse '+170209.0'.
'             Unable to parse '+170209,0'.
'             Unable to parse '-103214.00'.
'             Unable to parse '-103214,00'.
'             Unable to parse '104561.1'.
'             Unable to parse '104561,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '170209' to 170209.
'             Converted '+170209.0' to 170209.
'             Unable to parse '+170209,0'.
'             '-103214.00' is out of range of the UInt32 type.
'             Unable to parse '-103214,00'.
'             '104561.1' is out of range of the UInt32 type.
'             Unable to parse '104561,1'.
'       Parsing strings using the French (France) culture
'          Style: Integer
'             Converted '170209' to 170209.
'             Unable to parse '+170209.0'.
'             Unable to parse '+170209,0'.
'             Unable to parse '-103214.00'.
'             Unable to parse '-103214,00'.
'             Unable to parse '104561.1'.
'             Unable to parse '104561,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '170209' to 170209.
'             Unable to parse '+170209.0'.
'             Converted '+170209,0' to 170209.
'             Unable to parse '-103214.00'.
'             '-103214,00' is out of range of the UInt32 type.
'             Unable to parse '104561.1'.
'             '104561,1' is out of range of the UInt32 type.

Комментарии

style Параметр определяет элементы стиля (например, пробел или символ знак плюс или минус), которые разрешены в s параметр для успешного выполнения операции синтаксического анализа.The style parameter defines the style elements (such as white space or the positive or negative sign symbol) that are allowed in the s parameter for the parse operation to succeed. Он должен представлять собой сочетание битовых флагов из NumberStyles перечисления.It must be a combination of bit flags from the NumberStyles enumeration.

В зависимости от значения style, s параметр может содержать следующие элементы:Depending on the value of style, the s parameter may include the following elements:

[ws] [$] [входа]цифр[. цифры_дробной_части] [E [входа]экспоненциальные_цифры] [ws][ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws]

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ([ and ]) are optional. Если style включает в себя NumberStyles.AllowHexSpecifier, s параметр может содержать следующие элементы:If style includes NumberStyles.AllowHexSpecifier, the s parameter may include the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

Каждый из элементов описан в таблице ниже.The following table describes each element.

ЭлементElement ОписаниеDescription
wsws Необязательный пробел.Optional white space. Пробелы могут отображаться в начале s Если style включает в себя NumberStyles.AllowLeadingWhite флаг и может отображаться в конце s Если style включает в себя NumberStyles.AllowTrailingWhite флаг.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Символ валюты.A culture-specific currency symbol. Его положение в строке определяется CurrencyPositivePattern свойство NumberFormatInfo объект, возвращаемый GetFormat метод provider параметра.Its position in the string is defined by the CurrencyPositivePattern property of the NumberFormatInfo object that is returned by the GetFormat method of the provider parameter. Символ валюты может встречаться в s Если style включает в себя NumberStyles.AllowCurrencySymbol флаг.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Необязательный знак.An optional sign. (Метод вызывает OverflowException Если s включает отрицательный знак и представляет собой число ненулевое значение.) Знак может располагаться в начале s Если style включает в себя NumberStyles.AllowLeadingSign флаг и может отображаться в конец s Если style включает в себя NumberStyles.AllowTrailingSign флаг.(The method throws an OverflowException if s includes a negative sign and represents a non-zero number.) The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear the end of s if style includes the NumberStyles.AllowTrailingSign flag. Можно использовать скобки в s указывает отрицательное значение, если style включает в себя NumberStyles.AllowParentheses флаг.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
digitsdigits Последовательность цифр от 0 до 9.A sequence of digits from 0 through 9.
.. Символ десятичной запятой для конкретного языка и региональных параметров.A culture-specific decimal point symbol. Символ десятичной запятой текущего языка и региональных параметров может содержаться в s Если style включает в себя NumberStyles.AllowDecimalPoint флаг.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits Один или несколько вхождений цифры 0 – 9 Если style включает в себя NumberStyles.AllowExponent флаг или один или несколько вхождений цифры 0, если это не так.One or more occurrences of the digit 0-9 if style includes the NumberStyles.AllowExponent flag, or one or more occurrences of the digit 0 if it does not. Дробных разрядов может встречаться в s только если style включает в себя NumberStyles.AllowDecimalPoint флаг.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
EE «E» или «E» знаком, который указывает, что значение будет представлено в экспоненциальной нотации (научный).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. s Параметр может представлять число в экспоненциальном представлении, если style включает в себя NumberStyles.AllowExponent флаг.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential_digitsexponential_digits Последовательность цифр от 0 до 9.A sequence of digits from 0 through 9. s Параметр может представлять число в экспоненциальном представлении, если style включает в себя NumberStyles.AllowExponent флаг.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Последовательность шестнадцатеричных цифр от 0 до f или от 0 до F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Примечание

Символы (от U + 0000) завершающий NUL в s пропускаются операцией анализа, независимо от значения style аргумент.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Строка только десятичных знаков (который соответствует NumberStyles.None стиля) всегда успешно выполняет синтаксический анализ.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. Большинство оставшихся NumberStyles члены управляют элементами, которые могут присутствовать, но необязательно должны присутствовать в этом входной строки.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in this input string. В следующей таблице показаны как отдельные NumberStyles члены влияют на элементы, которые могут присутствовать в s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Простые NumberStyles значенияNon-composite NumberStyles values Элементы, допустимые в s помимо цифрElements permitted in s in addition to digits
NumberStyles.None Только десятичные цифры.Decimal digits only.
NumberStyles.AllowDecimalPoint Десятичной запятой (.) и цифры_дробной_части элементов.The decimal point (.) and fractional_digits elements. Тем не менее если стиль не содержит NumberStyles.AllowExponent флаг, цифры_дробной_части должен включать только один или несколько цифр 0; в противном случае OverflowException возникает исключение.However, if style does not include the NumberStyles.AllowExponent flag, fractional_digits must consist of only one or more 0 digits; otherwise, an OverflowException is thrown.
NumberStyles.AllowExponent «E» или «E» знаком, который указывает экспоненциальное представление, вместе с экспоненциальные_цифры.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite Ws элемент в начале s.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite Ws элемент в конце s.The ws element at the end of s.
NumberStyles.AllowLeadingSign Знак перед цифр.A sign before digits.
NumberStyles.AllowTrailingSign Знак после цифр.A sign after digits.
NumberStyles.AllowParentheses Круглые скобки до и после цифр для обозначения отрицательного значения.Parentheses before and after digits to indicate a negative value.
NumberStyles.AllowThousands Разделитель групп (,) элемент.The group separator (,) element.
NumberStyles.AllowCurrencySymbol Валюта ($) элемент.The currency ($) element.

Если NumberStyles.AllowHexSpecifier флага s должен представлять собой шестнадцатеричное значение.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. Только другие флаги, которые могут быть объединены с ним — NumberStyles.AllowLeadingWhite и NumberStyles.AllowTrailingWhite.The only other flags that can be combined with it are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. ( NumberStyles Перечисления включает стили составного числа, NumberStyles.HexNumber, включающий в себя оба флага пустого пространства.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Примечание

Если s является строковым представлением шестнадцатеричное число, он не может начинаться с описателей (таких как 0x или &h), отличающее его как шестнадцатеричное число.If the s parameter is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. В результате операции синтаксического анализа для создания исключения.This causes the parse operation to throw an exception.

provider Параметр IFormatProvider реализации которого GetFormat возвращает NumberFormatInfo объект, который предоставляет зависящие от культуры сведения о формате параметра s.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Существует три способа использования provider указать пользовательские сведения о форматировании для операции синтаксического анализа:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Вы можете передать фактический NumberFormatInfo объект, предоставляющий сведения о форматировании.You can pass the actual NumberFormatInfo object that provides formatting information. (Его реализации GetFormat просто возвращает сам себя.)(Its implementation of GetFormat simply returns itself.)

  • Вы можете передать CultureInfo , задающий язык и региональные параметры, которым форматирование будет использоваться.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. Его NumberFormat свойство предоставляет сведения о форматировании.Its NumberFormat property provides formatting information.

  • Вы можете передать настраиваемый IFormatProvider реализации.You can pass a custom IFormatProvider implementation. Его GetFormat метод должен создать экземпляр и вернуть NumberFormatInfo объект, предоставляющий сведения о форматировании.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Если providernull, NumberFormatInfo объект для текущего языка и региональных параметров.If provider is null, the NumberFormatInfo object for the current culture is used.

Дополнительно

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Важно!

Этот API несовместим с CLS.

[System.CLSCompliant(false)]
public static uint Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> uint32
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = null) As UInteger

Параметры

Возвраты

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Важно!

Этот API несовместим с CLS.

Альтернативный вариант, совместимый с CLS
System.Int64.Parse(String)

Преобразует строковое представление числа в указанном формате в эквивалентное ему 32-битовое целое число без знака.Converts the string representation of a number in a specified style to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s, System::Globalization::NumberStyles style);
[System.CLSCompliant(false)]
public static uint Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> uint32
Public Shared Function Parse (s As String, style As NumberStyles) As UInteger

Параметры

s
String String String String

Строка, содержащая число для преобразования.A string representing the number to convert. Строка интерпретируется с использованием стиля, указанного параметром style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Побитовое сочетание значений перечисления, которое показывает разрешенный формат параметра s.A bitwise combination of the enumeration values that specify the permitted format of s. Обычно указывается значение Integer.A typical value to specify is Integer.

Возвраты

32-битовое целое число без знака, эквивалентное числу, заданному параметром s.A 32-bit unsigned integer equivalent to the number specified in s.

Исключения

style не является значением NumberStyles.style is not a NumberStyles value.

-или--or- style не является сочетанием значений AllowHexSpecifier и HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s не представлен в формате, совместимом с style.s is not in a format compliant with style.

Параметр s представляет число меньше MinValue или больше MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

-или--or- s содержит ненулевые дробные разряды.s includes non-zero, fractional digits.

Примеры

В следующем примере предпринимается выполнить синтаксический анализ каждого элемента в массиве строк, используя ряд NumberStyles значения.The following example tries to parse each element in a string array by using a number of NumberStyles values.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values= { " 214309 ", "1,064,181", "(0)", "10241+", " + 21499 ", 
                         " +21499 ", "122153.00", "1e03ff", "91300.0e-2" };
      NumberStyles whitespace =  NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
      NumberStyles[] styles= { NumberStyles.None, whitespace, 
                               NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace, 
                               NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol, 
                               NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };

      // Attempt to convert each number using each style combination.
      foreach (string value in values)
      {
         Console.WriteLine("Attempting to convert '{0}':", value);
         foreach (NumberStyles style in styles)
         {
            try {
               uint number = UInt32.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }   
            catch (OverflowException)
            {
               Console.WriteLine("   {0}: Overflow", value);         
            }         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Attempting to convert ' 214309 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214309
//       Integer, AllowTrailingSign: 214309
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064,181':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064181
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '10241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 10241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 21499
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '122153.00':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 122153
//    
//    Attempting to convert '1e03ff':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '91300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 913
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { " 214309 ", "1,064,181", "(0)", "10241+", _
                                 " + 21499 ", " +21499 ", "122153.00", _
                                 "1e03ff", "91300.0e-2" }
      Dim whitespace As NumberStyles =  NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite
      Dim styles() As NumberStyles = { NumberStyles.None, _
                                       whitespace, _
                                       NumberStyles.AllowLeadingSign Or NumberStyles.AllowTrailingSign Or whitespace, _
                                       NumberStyles.AllowThousands Or NumberStyles.AllowCurrencySymbol, _
                                       NumberStyles.AllowExponent Or NumberStyles.AllowDecimalPoint }

      ' Attempt to convert each number using each style combination.
      For Each value As String In values
         Console.WriteLine("Attempting to convert '{0}':", value)
         For Each style As NumberStyles In styles
            Try
               Dim number As UInteger = UInt32.Parse(value, style)
               Console.WriteLine("   {0}: {1}", style, number)
            Catch e As FormatException
               Console.WriteLine("   {0}: Bad Format", style)
            Catch e As OverflowException
               Console.WriteLine("   {0}: Overflow", value)         
            End Try         
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    Attempting to convert ' 214309 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: 214309
'       Integer, AllowTrailingSign: 214309
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1,064,181':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: 1064181
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '(0)':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '10241+':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 10241
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' + 21499 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' +21499 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 21499
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '122153.00':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 122153
'    
'    Attempting to convert '1e03ff':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '91300.0e-2':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 913

Комментарии

style Параметр определяет элементы стиля (например, пробел, символ знак плюс или минус, символ-разделитель групп или символ десятичной запятой), которые разрешены в s параметр для успешного выполнения операции синтаксического анализа.The style parameter defines the style elements (such as white space, the positive or negative sign symbol, the group separator symbol, or the decimal point symbol) that are allowed in the s parameter for the parse operation to succeed. style должен представлять собой сочетание битовых флагов из NumberStyles перечисления.style must be a combination of bit flags from the NumberStyles enumeration. style Параметр делает этот метод перегрузки в полезно, когда s содержит строковое представление шестнадцатеричного значения, в том случае, если представленный в системе счисления (десятичное или шестнадцатеричное) s становится известным только во время выполнения, или если вы хотите запретить пробел или символ знака в s.The style parameter makes this method overload useful when s contains the string representation of a hexadecimal value, when the number system (decimal or hexadecimal) represented by s is known only at run time, or when you want to disallow white space or a sign symbol in s.

В зависимости от значения style, s параметр может содержать следующие элементы:Depending on the value of style, the s parameter may include the following elements:

[ws] [$] [входа] [цифр,]цифр[. цифры_дробной_части] [E [входа]экспоненциальные_цифры] [ws][ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ([ and ]) are optional. Если style включает в себя NumberStyles.AllowHexSpecifier, s параметр может содержать следующие элементы:If style includes NumberStyles.AllowHexSpecifier, the s parameter may contain the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

Каждый из элементов описан в таблице ниже.The following table describes each element.

ЭлементElement ОписаниеDescription
wsws Необязательный пробел.Optional white space. Пробелы могут отображаться в начале s Если style включает в себя NumberStyles.AllowLeadingWhite флаг и может отображаться в конце s Если style включает в себя NumberStyles.AllowTrailingWhite флаг.White space can appear at the start of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Символ валюты.A culture-specific currency symbol. Его положение в строке определяется NumberFormatInfo.CurrencyNegativePattern и NumberFormatInfo.CurrencyPositivePattern свойства текущего языка и региональных параметров.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. Символ валюты для текущего языка и региональных параметров может встречаться в s Если style включает в себя NumberStyles.AllowCurrencySymbol флаг.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Необязательный знак.An optional sign. Знак может располагаться в начале s Если style включает в себя NumberStyles.AllowLeadingSign флаг и может отображаться в конце s Если style включает в себя NumberStyles.AllowTrailingSign флаг.The sign can appear at the start of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Можно использовать скобки в s указывает отрицательное значение, если style включает в себя NumberStyles.AllowParentheses флаг.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag. Однако символ знака минус может использоваться только с нуля; в противном случае метод создает OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
digitsdigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Последовательность цифр от 0 до 9.A sequence of digits from 0 through 9. Для цифры_дробной_частитолько из цифр 0 является допустимым.For fractional_digits, only the digit 0 is valid.
,, Символ разделителя групп, зависящий от языка и региональных параметров.A culture-specific group separator symbol. Разделитель групп текущего языка и региональных параметров может встречаться в s Если style включает в себя NumberStyles.AllowThousands флаг.The current culture's group separator can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Символ десятичной запятой для конкретного языка и региональных параметров.A culture-specific decimal point symbol. Символ десятичной запятой текущего языка и региональных параметров может содержаться в s Если style включает в себя NumberStyles.AllowDecimalPoint флаг.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag. Только цифры 0 может отображаться в виде дробного числа синтаксического анализа для успешного выполнения операции; Если цифры_дробной_части включает любые другие цифры, FormatException возникает исключение.Only the digit 0 can appear as a fractional digit for the parse operation to succeed; if fractional_digits includes any other digit, a FormatException is thrown.
EE «E» или «E» знаком, который указывает, что значение будет представлено в экспоненциальной нотации (научный).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. s Параметр может представлять число в экспоненциальном представлении, если style включает в себя NumberStyles.AllowExponent флаг.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Последовательность шестнадцатеричных цифр от 0 до f или от 0 до F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Примечание

Символы (от U + 0000) завершающий NUL в s пропускаются операцией анализа, независимо от значения style аргумент.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Строка с только цифры (который соответствует NumberStyles.None стиля) всегда успешно выполняет синтаксический анализ.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully. Большинство оставшихся NumberStyles члены управляют элементами, которые могут присутствовать, но необязательно должны присутствовать во входной строке.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in the input string. В следующей таблице показаны как отдельные NumberStyles члены влияют на элементы, которые могут присутствовать в s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

ЗначениеNumberStyles NumberStyles value Элементы, допустимые в s помимо цифрElements permitted in s in addition to digits
None Цифр только элемент.The digits element only.
AllowDecimalPoint Десятичная точка (.) и дробной части элементов.The decimal point (.) and fractional-digits elements.
AllowExponent «E» или «E» знаком, который указывает экспоненциальное представление, вместе с экспоненциальные_цифры.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
AllowLeadingWhite Ws элемент в начале s.The ws element at the start of s.
AllowTrailingWhite Ws элемент в конце s.The ws element at the end of s.
AllowLeadingSign Входа элемент в начале s.The sign element at the start of s.
AllowTrailingSign Входа элемент в конце s.The sign element at the end of s.
AllowParentheses Входа элемент в скобки, заключив числовое значение.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands Элемент группы разрядов ().The group separator (,) element.
AllowCurrencySymbol Элемент валюты ($).The currency ($) element.
Currency Все элементы.All elements. Тем не менее s не может представлять шестнадцатеричное число или число в экспоненциальном представлении.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float Ws элемент в начале или конце s, входа в начале sи десятичной запятой (.) символов.The ws element at the start or end of s, sign at the start of s, and the decimal point (.) symbol. s Параметр можно также использовать экспоненциальное представление.The s parameter can also use exponential notation.
Number ws, sign, Разделитель групп (,) и десятичной запятой (.) элементов.The ws, sign, group separator (,), and decimal point (.) elements.
Any Все элементы.All elements. Тем не менее s не может представлять шестнадцатеричное число.However, s cannot represent a hexadecimal number.

В отличие от других NumberStyles значения, которые позволяют, но не требуют наличия определенного стиля элементов в s, NumberStyles.AllowHexSpecifier значение стиля означает, что отдельные цифры в s всегда интерпретируется как шестнадцатеричные символы.Unlike the other NumberStyles values, which allow for, but do not require, the presence of particular style elements in s, the NumberStyles.AllowHexSpecifier style value means that the individual numeric characters in s are always interpreted as hexadecimal characters. Допустимые шестнадцатеричные цифры символы являются 0-9, A-F и a-f.Valid hexadecimal characters are 0-9, A-F, and a-f. Префикс, например «0 x», не допускается.A prefix, such as "0x", is not allowed. Только другие флаги, которые могут быть объединены с style являются NumberStyles.AllowLeadingWhite и NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the style parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. ( NumberStyles Перечисления включает стили составного числа, NumberStyles.HexNumber, включающий в себя оба флага пустого пространства.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Только другие флаги, которые могут быть объединены с style являются NumberStyles.AllowLeadingWhite и NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the style parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. ( NumberStyles Перечисления включает стили составного числа, NumberStyles.HexNumber, включающий в себя оба флага пустого пространства.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Примечание

Если s является строковым представлением шестнадцатеричного числа, он не может начинаться с описателей (таких как 0x или &h), отличающее его как шестнадцатеричное число.If s is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. Это приводит к сбою преобразования.This causes the conversion to fail.

s Анализируется с использованием сведений о форматировании в NumberFormatInfo , инициализируемый для текущего языка и региональных параметров системы.The s parameter is parsed by using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Чтобы указать язык и региональные параметры, чье форматирования используется для синтаксического анализа, вызовите Parse(String, NumberStyles, IFormatProvider) перегрузки.To specify the culture whose formatting information is used for the parse operation, call the Parse(String, NumberStyles, IFormatProvider) overload.

Дополнительно

Parse(String) Parse(String) Parse(String) Parse(String)

Важно!

Этот API несовместим с CLS.

Альтернативный вариант, совместимый с CLS
System.Int64.Parse(String)

Преобразует строковое представление числа в эквивалентное ему 32-битовое целое число без знака.Converts the string representation of a number to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static uint Parse (string s);
static member Parse : string -> uint32
Public Shared Function Parse (s As String) As UInteger

Параметры

s
String String String String

Строка, содержащая число для преобразования.A string representing the number to convert.

Возвраты

32-разрядное целое число без знака, эквивалентное числу, содержащемуся в параметре s.A 32-bit unsigned integer equivalent to the number contained in s.

Исключения

Параметр s имеет значение null.The s parameter is null.

Параметр s имеет неправильный формат.The s parameter is not of the correct format.

Параметр s представляет число, которое меньше MinValue или больше MaxValue.The s parameter represents a number that is less than MinValue or greater than MaxValue.

Примеры

В следующем примере используется Parse(String) метода для синтаксического анализа массив строковых значений.The following example uses the Parse(String) method to parse an array of string values.

string[] values = { "+13230", "-0", "1,390,146", "$190,235,421,127",
                    "0xFA1B", "163042", "-10", "2147483648", 
                    "14065839182", "16e07", "134985.0", "-12034" };
foreach (string value in values)
{
   try {
      uint number = UInt32.Parse(value); 
      Console.WriteLine("{0} --> {1}", value, number);
   }
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);   
   }  
}
// The example displays the following output:
//       +13230 --> 13230
//       -0 --> 0
//       1,390,146: Bad Format
//       $190,235,421,127: Bad Format
//       0xFA1B: Bad Format
//       163042 --> 163042
//       -10: Overflow
//       2147483648 --> 2147483648
//       14065839182: Overflow
//       16e07: Bad Format
//       134985.0: Bad Format
//       -12034: Overflow      
Dim values() As String = { "+13230", "-0", "1,390,146", "$190,235,421,127", 
                           "0xFA1B", "163042", "-10", "2147483648",  
                           "14065839182", "16e07", "134985.0", "-12034" }
For Each value As String In values
   Try
      Dim number As UInteger = UInt32.Parse(value) 
      Console.WriteLine("{0} --> {1}", value, number)
   Catch e As FormatException
      Console.WriteLine("{0}: Bad Format", value)
   Catch e As OverflowException
      Console.WriteLine("{0}: Overflow", value)   
   End Try  
Next
' The example displays the following output:
'       +13230 --> 13230
'       -0 --> 0
'       1,390,146: Bad Format
'       $190,235,421,127: Bad Format
'       0xFA1B: Bad Format
'       163042 --> 163042
'       -10: Overflow
'       2147483648 --> 2147483648
'       14065839182: Overflow
'       16e07: Bad Format
'       134985.0: Bad Format
'       -12034: Overflow

Комментарии

s Параметр должен иметь строковое представление числа в следующей форме.The s parameter should be the string representation of a number in the following form.

[ws] [входа]цифр[ws][ws][sign]digits[ws]

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ([ and ]) are optional. Каждый из элементов описан в таблице ниже.The following table describes each element.

ЭлементElement ОписаниеDescription
wsws Необязательный пробел.Optional white space.
signsign Необязательный знак.An optional sign. Допустимые знаки определяются по NumberFormatInfo.NegativeSign и NumberFormatInfo.PositiveSign свойства текущего языка и региональных параметров.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. Однако символ знака минус может использоваться только с нуля; в противном случае метод создает OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
digitsdigits Последовательность цифр в диапазоне от 0 до 9.A sequence of digits ranging from 0 to 9. Все начальные нули пропускаются.Any leading zeros are ignored.

Примечание

Строка, заданная s параметр интерпретируется с использованием NumberStyles.Integer стиля.The string specified by the s parameter is interpreted by using the NumberStyles.Integer style. Он не может содержать разделители групп или десятичного разделителя, и он не может иметь дробную часть.It cannot contain any group separators or decimal separator, and it cannot have a decimal portion.

s Анализируется с использованием сведений о форматировании в System.Globalization.NumberFormatInfo , инициализируемый для текущего языка и региональных параметров системы.The s parameter is parsed by using the formatting information in a System.Globalization.NumberFormatInfo object that is initialized for the current system culture. Дополнительные сведения см. в разделе NumberFormatInfo.CurrentInfo.For more information, see NumberFormatInfo.CurrentInfo. Чтобы проанализировать строку с помощью сведений о форматировании для определенного языка и региональных параметров, используйте Parse(String, IFormatProvider) метод.To parse a string by using the formatting information of a specific culture, use the Parse(String, IFormatProvider) method.

Дополнительно

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Важно!

Этот API несовместим с CLS.

Альтернативный вариант, совместимый с CLS
System.Int64.Parse(String)

Преобразует строковое представление числа в эквивалентное ему 32-разрядное целое число без знака в указанном формате, соответствующем языку и региональным параметрам.Converts the string representation of a number in a specified culture-specific format to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static uint Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> uint32
Public Shared Function Parse (s As String, provider As IFormatProvider) As UInteger

Параметры

s
String String String String

Строка, представляющая преобразуемое число.A string that represents the number to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Объект, который предоставляет сведения о форматировании параметра s в зависимости от языка и региональных параметров.An object that supplies culture-specific formatting information about s.

Возвраты

32-битовое целое число без знака, эквивалентное числу, заданному параметром s.A 32-bit unsigned integer equivalent to the number specified in s.

Исключения

s имеет неправильный стиль.s is not in the correct style.

Параметр s представляет число меньше MinValue или больше MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

Примеры

Ниже приведен нажатия кнопки обработчик событий веб-формы.The following example is the button click event handler of a Web form. Она использует массив, возвращаемый HttpRequest.UserLanguages свойство для определения языка пользователя.It uses the array returned by the HttpRequest.UserLanguages property to determine the user's locale. Затем он создает экземпляр CultureInfo объект, соответствующий языковым стандартом.It then instantiates a CultureInfo object that corresponds to that locale. NumberFormatInfo Объекта, которому принадлежит, CultureInfo объект затем передается Parse(String, IFormatProvider) данные метода для преобразования пользователь UInt32 значение.The NumberFormatInfo object that belongs to that CultureInfo object is then passed to the Parse(String, IFormatProvider) method to convert the user's input to a UInt32 value.

protected void OkToUInteger_Click(object sender, EventArgs e)
{
   string locale;
   uint number;
   CultureInfo culture;

   // Return if string is empty
   if (String.IsNullOrEmpty(this.inputNumber.Text))
      return;

   // Get locale of web request to determine possible format of number
   if (Request.UserLanguages.Length == 0)
      return;
   locale = Request.UserLanguages[0];
   if (String.IsNullOrEmpty(locale))
      return;

  // Instantiate CultureInfo object for the user's locale
   culture = new CultureInfo(locale);

   // Convert user input from a string to a number
   try
   {
      number = UInt32.Parse(this.inputNumber.Text, culture.NumberFormat);
   }
   catch (FormatException)
   {
      return;
   }
   catch (Exception)
   {
      return;
   }
   // Output number to label on web form
   this.outputNumber.Text = "Number is " + number.ToString();
}
Protected Sub OKToUInteger_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OKToUInteger.Click
   Dim locale As String
   Dim culture As CultureInfo
   Dim number As UInteger

   ' Return if string is empty
   If String.IsNullOrEmpty(Me.inputNumber.Text) Then Exit Sub

   ' Get locale of web request to determine possible format of number
   If Request.UserLanguages.Length = 0 Then Exit Sub
   locale = Request.UserLanguages(0)
   If String.IsNullOrEmpty(locale) Then Exit Sub

   ' Instantiate CultureInfo object for the user's locale
   culture = New CultureInfo(locale)

   ' Convert user input from a string to a number
   Try
      number = UInt32.Parse(Me.inputNumber.Text, culture.NumberFormat)
   Catch ex As FormatException
      Exit Sub
   Catch ex As Exception
      Exit Sub
   End Try

   ' Output number to label on web form
   Me.outputNumber.Text = "Number is " & number.ToString()
End Sub

Комментарии

s Параметр содержит ряд формы:The s parameter contains a number of the form:

[ws] [входа]цифр[ws][ws][sign]digits[ws]

Элементы в квадратных скобках ([и]) являются необязательными.Items in square brackets ([ and ]) are optional. Каждый из элементов описан в таблице ниже.The following table describes each element.

ЭлементElement ОписаниеDescription
wsws Необязательный пробел.Optional white space.
signsign Необязательный знак или минус, если s представляет нулевое значение.An optional sign, or a negative sign if s represents the value zero.
digitsdigits Последовательность цифр в диапазоне от 0 до 9.A sequence of digits ranging from 0 to 9.

Параметр s интерпретируется с использованием NumberStyles.Integer стиля.The s parameter is interpreted using the NumberStyles.Integer style. В дополнение к значение целого числа без знака десятичных цифр допускается только начальные и конечные пробелы, а также знак в начале.In addition to the unsigned integer value's decimal digits, only leading and trailing spaces along with a leading sign is allowed. (Если присутствует знак минус, s должен представлять значение из нуля или методом исключения OverflowException.) Чтобы явно определить элементы стиля вместе с языком и региональными параметрами сведения об особенностях форматирования, могут быть представлены в s, используйте Parse(String, NumberStyles, IFormatProvider) метод.(If the negative sign is present, s must represent a value of zero, or the method throws an OverflowException.) To explicitly define the style elements together with the culture-specific formatting information that can be present in s, use the Parse(String, NumberStyles, IFormatProvider) method.

provider Параметр IFormatProvider реализации которого GetFormat возвращает NumberFormatInfo объект, который предоставляет зависящие от культуры сведения о формате параметра s.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Существует три способа использования provider указать пользовательские сведения о форматировании для операции синтаксического анализа:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Вы можете передать фактический NumberFormatInfo объект, предоставляющий сведения о форматировании.You can pass the actual NumberFormatInfo object that provides formatting information. (Его реализации GetFormat просто возвращает сам себя.)(Its implementation of GetFormat simply returns itself.)

  • Вы можете передать CultureInfo , задающий язык и региональные параметры, которым форматирование будет использоваться.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. Его NumberFormat свойство предоставляет сведения о форматировании.Its NumberFormat property provides formatting information.

  • Вы можете передать настраиваемый IFormatProvider реализации.You can pass a custom IFormatProvider implementation. Его GetFormat метод должен создать экземпляр и вернуть NumberFormatInfo объект, предоставляющий сведения о форматировании.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Если providernull, NumberFormatInfo для текущего языка и региональных параметров.If provider is null, the NumberFormatInfo for the current culture is used.

Дополнительно

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