UInt16.Parse 메서드

정의

숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

오버로드

Parse(String, NumberStyles, IFormatProvider)

지정된 스타일 및 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

지정된 스타일 및 문화권별 지정 형식으로 된 숫자의 범위 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the span representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

Parse(String, NumberStyles)

지정된 스타일로 된 숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

이 메서드는 CLS 규격이 아닙니다.This method is not CLS-compliant. CLS 규격 대체 항목은 Parse(String, NumberStyles)입니다.The CLS-compliant alternative is Parse(String, NumberStyles).

Parse(String)

숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

Parse(String, IFormatProvider)

지정된 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number in a specified culture-specific format to its 16-bit unsigned integer equivalent.

Parse(String, NumberStyles, IFormatProvider)

중요

이 API는 CLS 규격이 아닙니다.

CLS 대체 규격
System.Int32.Parse(String)

지정된 스타일 및 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

public:
 static System::UInt16 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static ushort Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint16
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As UShort

매개 변수

s
String

변환할 숫자를 나타내는 문자열입니다.A string that represents the number to convert. 이 문자열은 style 매개 변수로 지정된 스타일을 사용하여 해석됩니다.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles

s에 나타날 수 있는 스타일 요소를 나타내는 열거형 값의 비트 조합입니다.A bitwise combination of enumeration values that indicate the style elements that can be present in s. 지정할 일반적인 값은 Integer입니다.A typical value to specify is Integer.

provider
IFormatProvider

s에 대한 문화권별 형식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information about s.

반환

s에 지정된 수에 해당하는 16비트 부호 없는 정수입니다.A 16-bit unsigned integer equivalent to the number specified in s.

특성

예외

s이(가) null인 경우s is null.

styleNumberStyles 값이 아닙니다.style is not a NumberStyles value.

또는-or- styleAllowHexSpecifierHexNumber 값의 조합이 아닙니다.style is not a combination of AllowHexSpecifier and HexNumber values.

sstyle 규격 형식이 아닙니다.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에 0이 아닌 소수 자릿수가 포함되어 있습니다.s includes non-zero, fractional digits.

예제

다음 예제에서는 Parse(String, NumberStyles, IFormatProvider) 메서드를 사용 하 여 숫자의 다양 한 문자열 표현을 16 비트 부호 없는 정수 값으로 변환 합니다.The following example uses the Parse(String, NumberStyles, IFormatProvider) method to convert various string representations of numbers to 16-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 = { "1702", "+1702.0", "+1702,0", "-1032.00",
                          "-1032,00", "1045.1", "1045,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, 
                                    UInt16.Parse(value, style, ci));
               }                                    
               catch (FormatException) {
                  Console.WriteLine("      Unable to parse '{0}'.", value);   
               }
               catch (OverflowException) {
                  Console.WriteLine("      '{0}' is out of range of the UInt16 type.", 
                                    value);
               }
            }
         }
      }   
   }
}
// The example displays the following output:
//       Parsing strings using the English (United States) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Converted '+1702.0' to 1702.
//             Unable to parse '+1702,0'.
//             '-1032.00' is out of range of the UInt16 type.
//             Unable to parse '-1032,00'.
//             '1045.1' is out of range of the UInt16 type.
//             Unable to parse '1045,1'.
//       Parsing strings using the French (France) culture
//          Style: Integer
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Unable to parse '+1702,0'.
//             Unable to parse '-1032.00'.
//             Unable to parse '-1032,00'.
//             Unable to parse '1045.1'.
//             Unable to parse '1045,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '1702' to 1702.
//             Unable to parse '+1702.0'.
//             Converted '+1702,0' to 1702.
//             Unable to parse '-1032.00'.
//             '-1032,00' is out of range of the UInt16 type.
//             Unable to parse '1045.1'.
//             '1045,1' is out of range of the UInt16 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 = { "1702", "+1702.0", "+1702,0", "-1032.00", _
                                 "-1032,00", "1045.1", "1045,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, _
                                    UInt16.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 UInt16 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 '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Unable to parse '+1702,0'.
'             Unable to parse '-1032.00'.
'             Unable to parse '-1032,00'.
'             Unable to parse '1045.1'.
'             Unable to parse '1045,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '1702' to 1702.
'             Converted '+1702.0' to 1702.
'             Unable to parse '+1702,0'.
'             '-1032.00' is out of range of the UInt16 type.
'             Unable to parse '-1032,00'.
'             '1045.1' is out of range of the UInt16 type.
'             Unable to parse '1045,1'.
'       Parsing strings using the French (France) culture
'          Style: Integer
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Unable to parse '+1702,0'.
'             Unable to parse '-1032.00'.
'             Unable to parse '-1032,00'.
'             Unable to parse '1045.1'.
'             Unable to parse '1045,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '1702' to 1702.
'             Unable to parse '+1702.0'.
'             Converted '+1702,0' to 1702.
'             Unable to parse '-1032.00'.
'             '-1032,00' is out of range of the UInt16 type.
'             Unable to parse '1045.1'.
'             '1045,1' is out of range of the UInt16 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] [$] [sign] 숫자[. fractional_digits] [E [sign]exponential_digits] [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. style NumberStyles.AllowLeadingWhite 플래그를 포함 하는 경우 s의 시작 부분에 공백이 표시 될 수 있으며 style 플래그가 NumberStyles.AllowTrailingWhite에 포함 된 경우 s 끝에 나타날 수 있습니다.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.
$ Culture 별 통화 기호입니다.A culture-specific currency symbol. 문자열에서의 해당 위치는 provider 매개 변수의 GetFormat 메서드에서 반환 되는 NumberFormatInfo 개체의 CurrencyPositivePattern 속성에 의해 정의 됩니다.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. style NumberStyles.AllowCurrencySymbol 플래그가 포함 된 경우 통화 기호가 s 나타날 수 있습니다.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign 가 선택적 부호입니다.An optional sign. s 음수 기호가 포함 되 고 0이 아닌 숫자를 나타내는 경우 메서드는 OverflowException을 throw 합니다. 기호는 style NumberStyles.AllowLeadingSign 플래그가 포함 된 경우 s의 시작 부분에 나타날 수 있으며 style 플래그가 포함 된 경우 s의 끝에 표시 될 수 있습니다.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.
.. Culture 별 소수점 기호입니다.A culture-specific decimal point symbol. style NumberStyles.AllowDecimalPoint 플래그가 포함 된 경우 현재 문화권의 소수점 기호가 s 나타날 수 있습니다.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits style NumberStyles.AllowExponent 플래그가 포함 된 경우 하나 이상의 숫자 0-9이 고, 그렇지 않은 경우 0 개 이상의 숫자 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. 소수 자릿수는 style NumberStyles.AllowDecimalPoint 플래그를 포함 하는 경우에만 s 표시 될 수 있습니다.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. style NumberStyles.AllowExponent 플래그가 포함 된 경우 s 매개 변수는 지 수 표기법으로 숫자를 나타낼 수 있습니다.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. style NumberStyles.AllowExponent 플래그가 포함 된 경우 s 매개 변수는 지 수 표기법으로 숫자를 나타낼 수 있습니다.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits 16 진수 숫자 0 ~ f 또는 0 ~ 6. 시퀀스A sequence of hexadecimal digits from 0 through f, or 0 through F.

참고

s의 모든 종료 NUL (U + 0000) 문자는 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 스타일에 해당 하는 10 진수 숫자만 있는 문자열은 항상 성공적으로 구문 분석 합니다.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.

비 복합 NumberStylesNon-composite NumberStyles values 숫자 외에도 s에서 허용 되는 요소Elements permitted in s in addition to digits
NumberStyles.None 소수 자릿수에만 해당 합니다.Decimal digits only.
NumberStyles.AllowDecimalPoint 소수점 (.) 및 fractional_digits 요소입니다.The decimal point (.) and fractional_digits elements. 그러나 style에 NumberStyles.AllowExponent 플래그가 포함 되어 있지 않으면 fractional_digits 0 자리로만 구성 되어야 합니다. 그렇지 않으면 OverflowException throw 됩니다.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 Exponential_digits와 함께 지 수 표기법을 나타내는 "e" 또는 "e" 문자The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite s시작 부분에 있는 ws 요소입니다.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite s끝에 있는 ws 요소입니다.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 Currency ($) 요소입니다.The currency ($) element.

NumberStyles.AllowHexSpecifier 플래그를 사용 하는 경우 s는 16 진수 값 이어야 합니다.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. 유효한 16 진수는 0 ~ 9, a부터 f 및 A ~ 6. "0x"와 같은 접두사는 지원 되지 않습니다 및 하면 구문 분석 작업이 실패 합니다.Valid hexadecimal digits are 0 through 9, a through f, and A through F. A prefix, such as "0x", is not supported and causes the parse operation to fail. NumberStyles.AllowHexSpecifier와 결합할 수 있는 다른 플래그는 NumberStyles.AllowLeadingWhiteNumberStyles.AllowTrailingWhite입니다.The only other flags that can be combined with NumberStyles.AllowHexSpecifier 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 매개 변수가 16 진수의 문자열 표현인 경우 16 진수를 구분 하는 데코레이션 (예: 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. 이렇게 하면 구문 분석 작업에서 예외를 throw 합니다.This causes the parse operation to throw an exception.

provider 매개 변수는 GetFormat 메서드가 s형식에 대 한 문화권별 정보를 제공 하는 NumberFormatInfo 개체를 반환 하는 IFormatProvider 구현입니다.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.

provider null되 면 현재 문화권에 대 한 NumberFormatInfo 개체가 사용 됩니다.If provider is null, the NumberFormatInfo object for the current culture is used.

추가 정보

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

중요

이 API는 CLS 규격이 아닙니다.

지정된 스타일 및 문화권별 지정 형식으로 된 숫자의 범위 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the span representation of a number in a specified style and culture-specific format to its 16-bit unsigned integer equivalent.

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

매개 변수

s
ReadOnlySpan<Char>

변환할 숫자를 나타내는 문자를 포함하는 범위입니다.A span containing the characters that represent the number to convert. style 매개 변수로 지정된 스타일을 사용하여 해석하는 범위입니다.The span is interpreted by using the style specified by the style parameter.

style
NumberStyles

s에 나타날 수 있는 스타일 요소를 나타내는 열거형 값의 비트 조합입니다.A bitwise combination of enumeration values that indicate the style elements that can be present in s. 지정할 일반적인 값은 Integer입니다.A typical value to specify is Integer.

provider
IFormatProvider

s에 대한 문화권별 형식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information about s.

반환

s에 지정된 수에 해당하는 16비트 부호 없는 정수입니다.A 16-bit unsigned integer equivalent to the number specified in s.

특성

Parse(String, NumberStyles)

중요

이 API는 CLS 규격이 아닙니다.

지정된 스타일로 된 숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number in a specified style to its 16-bit unsigned integer equivalent.

이 메서드는 CLS 규격이 아닙니다.This method is not CLS-compliant. CLS 규격 대체 항목은 Parse(String, NumberStyles)입니다.The CLS-compliant alternative is Parse(String, NumberStyles).

public:
 static System::UInt16 Parse(System::String ^ s, System::Globalization::NumberStyles style);
[System.CLSCompliant(false)]
public static ushort Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> uint16
Public Shared Function Parse (s As String, style As NumberStyles) As UShort

매개 변수

s
String

변환할 숫자를 나타내는 문자열입니다.A string that represents the number to convert. 이 문자열은 style 매개 변수로 지정된 스타일을 사용하여 해석됩니다.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles

s에 사용할 수 있는 서식을 지정하는 열거형 값의 비트 조합입니다.A bitwise combination of the enumeration values that specify the permitted format of s. 지정할 일반적인 값은 Integer입니다.A typical value to specify is Integer.

반환

s에 지정된 수에 해당하는 16비트 부호 없는 정수입니다.A 16-bit unsigned integer equivalent to the number specified in s.

특성

예외

s이(가) null인 경우s is null.

styleNumberStyles 값이 아닙니다.style is not a NumberStyles value.

또는-or- styleAllowHexSpecifierHexNumber 값의 조합이 아닙니다.style is not a combination of AllowHexSpecifier and HexNumber values.

sstyle 규격 형식이 아닙니다.s is not in a format compliant with style.

sMinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.s represents a number less than MinValue or greater than MaxValue.

또는-or- s에 0이 아닌 소수 자릿수가 포함되어 있습니다.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 = { " 214 ", "1,064", "(0)", "1241+", " + 214 ", " +214 ", "2153.0", "1e03", "1300.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 {
               ushort number = UInt16.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }
         }
         Console.WriteLine();
      }
   }
}
// The example display the following output:
//    Attempting to convert ' 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064
//       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 '1241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 1241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +214 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 214
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '2153.0':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 2153
//    
//    Attempting to convert '1e03':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 1000
//    
//    Attempting to convert '1300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 13
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { " 214 ", "1,064", "(0)", "1241+", " + 214 ", " +214 ", "2153.0", "1e03", "1300.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 UShort = UInt16.Parse(value, style)
               Console.WriteLine("   {0}: {1}", style, number)
            Catch e As FormatException
               Console.WriteLine("   {0}: Bad Format", style)
            End Try         
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    Attempting to convert ' 214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: 214
'       Integer, AllowTrailingSign: 214
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1,064':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: 1064
'       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 '1241+':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 1241
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' + 214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' +214 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 214
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '2153.0':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 2153
'    
'    Attempting to convert '1e03':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 1000
'    
'    Attempting to convert '1300.0e-2':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 13

설명

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. styleNumberStyles 열거의 비트 플래그 조합 이어야 합니다.style must be a combination of bit flags from the NumberStyles enumeration. style 매개 변수를 사용 하는 경우이 메서드 오버 로드는 s에 16 진수 값의 문자열 표현이 포함 되어 있거나, s으로 표시 되는 숫자 시스템 (10 진수 또는 16 진수)이 런타임에만 알려져 있거나 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] [$] [sign] [숫자,] 숫자[. fractional_digits] [E [sign]exponential_digits] [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. style NumberStyles.AllowLeadingWhite 플래그를 포함 하는 경우 s 시작 부분에 공백이 표시 될 수 있으며 style 플래그가 NumberStyles.AllowTrailingWhite에 포함 된 경우 s 끝에 나타날 수 있습니다.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.
$ Culture 별 통화 기호입니다.A culture-specific currency symbol. 문자열에서의 해당 위치는 현재 문화권의 NumberFormatInfo.CurrencyNegativePatternNumberFormatInfo.CurrencyPositivePattern 속성으로 정의 됩니다.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. style NumberStyles.AllowCurrencySymbol 플래그가 포함 된 경우 현재 문화권의 통화 기호가 s에 표시 될 수 있습니다.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign 가 선택적 부호입니다.An optional sign. 기호는 styleNumberStyles.AllowLeadingSign 플래그가 포함 된 경우 s의 시작 부분에 나타날 수 있으며 style 플래그가 NumberStyles.AllowTrailingSign에 포함 된 경우 s의 끝에 나타날 수 있습니다.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. 그러나 음수 부호 기호는 0 에서만 사용할 수 있습니다. 그렇지 않으면 메서드는 OverflowException을 throw 합니다.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. Fractional_digits의 경우 숫자 0만 유효 합니다.For fractional_digits, only the digit 0 is valid.
,, Culture 별 그룹 구분 기호입니다.A culture-specific group separator symbol. style NumberStyles.AllowThousands 플래그를 포함 하는 경우 현재 문화권의 그룹 구분 기호가 s 표시 될 수 있습니다.The current culture's group separator can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Culture 별 소수점 기호입니다.A culture-specific decimal point symbol. style NumberStyles.AllowDecimalPoint 플래그가 포함 된 경우 현재 문화권의 소수점 기호가 s 나타날 수 있습니다.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag. 구문 분석 작업이 성공 하려면 숫자 0만 소수 자릿수로 표시 될 수 있습니다. fractional_digits 에 다른 숫자가 포함 된 경우 FormatException throw 됩니다.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. style NumberStyles.AllowExponent 플래그가 포함 된 경우 s 매개 변수는 지 수 표기법으로 숫자를 나타낼 수 있습니다.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits 16 진수 숫자 0 ~ f 또는 0 ~ 6. 시퀀스A sequence of hexadecimal digits from 0 through f, or 0 through F.

참고

s의 모든 종료 NUL (U + 0000) 문자는 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 스타일에 해당)은 UInt16 형식의 범위에 있는 경우에는 항상 성공적으로 구문 분석 합니다.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully if it is in the range of the UInt16 type. 나머지 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.

NumberStylesNumberStyles value 숫자 외에도 s에서 허용 되는 요소Elements permitted in s in addition to digits
None 숫자 요소만 있습니다.The digits element only.
AllowDecimalPoint 소수점 (.) 및 소수 자릿수 요소입니다.The decimal point (.) and fractional-digits elements.
AllowExponent Exponential_digits와 함께 지 수 표기법을 나타내는 "e" 또는 "e" 문자The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
AllowLeadingWhite s시작 부분에 있는 ws 요소입니다.The ws element at the start of s.
AllowTrailingWhite s끝에 있는 ws 요소입니다.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는 지 수 표기법으로 16 진수 또는 숫자를 나타낼 수 없습니다.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float s** 의 시작 또는 끝 부분에 있는 ws 요소,의 시작 부분에 있는 기호 및 소수점 (.) 기호를 지정 합니다. sThe 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는 16 진수를 나타낼 수 없습니다.However, s cannot represent a hexadecimal number.

s에서 특정 스타일 요소가 존재 하는 것을 허용 하지만 요구 하지 않아도 되는 다른 NumberStyles 값과 달리 NumberStyles.AllowHexSpecifier 스타일 값은 s의 개별 숫자 문자가 항상 16 진수 문자로 해석 됨을 의미 합니다.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. 유효한 16 진수는 0-9, A-f 및 a-f 문자입니다.Valid hexadecimal characters are 0-9, A-F, and a-f. "0x"와 같은 접두사는 지원 되지 않습니다 및 하면 구문 분석 작업이 실패 합니다.A prefix, such as "0x", is not supported and causes the parse operation to fail. style 매개 변수와 함께 사용할 수 있는 유일한 플래그는 NumberStyles.AllowLeadingWhiteNumberStyles.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 16 진수의 문자열 표현인 경우 16 진수를 구분 하는 데코레이션 (예: 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)

중요

이 API는 CLS 규격이 아닙니다.

CLS 대체 규격
System.Int32.Parse(String)

숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number to its 16-bit unsigned integer equivalent.

public:
 static System::UInt16 Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static ushort Parse (string s);
static member Parse : string -> uint16
Public Shared Function Parse (s As String) As UShort

매개 변수

s
String

변환할 숫자를 나타내는 문자열입니다.A string that represents the number to convert.

반환

s에 있는 수에 해당하는 16비트 부호 없는 정수입니다.A 16-bit unsigned integer equivalent to the number contained in s.

특성

예외

s이(가) null인 경우s is null.

s가 올바른 형식이 아닙니다.s is not in the correct format.

sMinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.s represents a number less than MinValue or greater than MaxValue.

예제

다음 예제에서는 Parse(String) 메서드를 호출 하 여 문자열 배열의 각 요소를 부호 없는 16 비트 정수로 변환 합니다.The following example calls the Parse(String) method to convert each element in a string array to an unsigned 16-bit integer.

using System;

public class Example
{
   public static void Main()
   {
      string[] values = { "-0", "17", "-12", "185", "66012", "+0", 
                          "", null, "16.1", "28.0", "1,034" };
      foreach (string value in values)
      {
         try {
            ushort number = UInt16.Parse(value);
            Console.WriteLine("'{0}' --> {1}", value, number);
         }
         catch (FormatException) {
            Console.WriteLine("'{0}' --> Bad Format", value);
         }
         catch (OverflowException) {   
            Console.WriteLine("'{0}' --> OverflowException", value);
         }
         catch (ArgumentNullException) {
            Console.WriteLine("'{0}' --> Null", value);
         }
      }                                 
   }
}
// The example displays the following output:
//       '-0' --> 0
//       '17' --> 17
//       '-12' --> OverflowException
//       '185' --> 185
//       '66012' --> OverflowException
//       '+0' --> 0
//       '' --> Bad Format
//       '' --> Null
//       '16.1' --> Bad Format
//       '28.0' --> Bad Format
//       '1,034' --> Bad Format
Module Example
   Public Sub Main()
      Dim values() As String = { "-0", "17", "-12", "185", "66012", _ 
                                 "+0", "", Nothing, "16.1", "28.0", _
                                 "1,034" }
      For Each value As String In values
         Try
            Dim number As UShort = UInt16.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}' --> OverflowException", value)
         Catch e As ArgumentNullException
            Console.WriteLine("'{0}' --> Null", value)
         End Try
      Next                                 
   End Sub
End Module
' The example displays the following output:
'       '-0' --> 0
'       '17' --> 17
'       '-12' --> OverflowException
'       '185' --> 185
'       '66012' --> OverflowException
'       '+0' --> 0
'       '' --> Bad Format
'       '' --> Null
'       '16.1' --> Bad Format
'       '28.0' --> Bad Format
'       '1,034' --> Bad Format

설명

s 매개 변수는 다음 형식으로 된 숫자의 문자열 표현 이어야 합니다.The s parameter should be the string representation of a number in the following form.

[ws] [sign] 숫자[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.NegativeSignNumberFormatInfo.PositiveSign 속성에 의해 결정 됩니다.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. 그러나 음수 부호 기호는 0 에서만 사용할 수 있습니다. 그렇지 않으면 메서드는 OverflowException을 throw 합니다.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. 모든 선행 0은 무시 됩니다.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)

중요

이 API는 CLS 규격이 아닙니다.

CLS 대체 규격
System.Int32.Parse(String)

지정된 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 16비트 부호 없는 정수로 변환합니다.Converts the string representation of a number in a specified culture-specific format to its 16-bit unsigned integer equivalent.

public:
 static System::UInt16 Parse(System::String ^ s, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static ushort Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> uint16
Public Shared Function Parse (s As String, provider As IFormatProvider) As UShort

매개 변수

s
String

변환할 숫자를 나타내는 문자열입니다.A string that represents the number to convert.

provider
IFormatProvider

s에 대한 문화권별 형식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information about s.

반환

s에 지정된 수에 해당하는 16비트 부호 없는 정수입니다.A 16-bit unsigned integer equivalent to the number specified in s.

특성

예외

s이(가) null인 경우s is null.

s가 올바른 형식이 아닙니다.s is not in the correct format.

sMinValue보다 작거나 MaxValue보다 큰 숫자를 나타냅니다.s represents a number less than MinValue or greater than MaxValue.

예제

다음 예제에서는 두는 해당 양수 부호로 기호 (+ +)는 사용자 지정 문화권을 인스턴스화합니다.The following example instantiates a custom culture that uses two plus signs (++) as its positive sign. 그런 다음 Parse(String, IFormatProvider) 메서드를 호출 하 여이 사용자 지정 문화권과 고정 문화권을 모두 나타내는 CultureInfo 개체를 사용 하 여 문자열 배열을 구문 분석 합니다.It then calls the Parse(String, IFormatProvider) method to parse an array of strings by using CultureInfo objects that represent both this custom culture and the invariant culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Define a custom culture that uses "++" as a positive sign. 
      CultureInfo ci = new CultureInfo("");
      ci.NumberFormat.PositiveSign = "++";
      // Create an array of cultures.
      CultureInfo[] cultures = { ci, CultureInfo.InvariantCulture };
      // Create an array of strings to parse.
      string[] values = { "++1403", "-0", "+0", "+16034", 
                          Int16.MinValue.ToString(), "14.0", "18012" };
      // Parse the strings using each culture.
      foreach (CultureInfo culture in cultures)
      {
         Console.WriteLine("Parsing with the '{0}' culture.", culture.Name);
         foreach (string value in values)
         {
            try {
               ushort number = UInt16.Parse(value, culture);
               Console.WriteLine("   Converted '{0}' to {1}.", value, number);
            }
            catch (FormatException) {
               Console.WriteLine("   The format of '{0}' is invalid.", value);
            }
            catch (OverflowException) {
               Console.WriteLine("   '{0}' is outside the range of a UInt16 value.", value);
            }               
         }
      }
   }
}
// The example displays the following output:
//       Parsing with the  culture.
//          Converted '++1403' to 1403.
//          Converted '-0' to 0.
//          The format of '+0' is invalid.
//          The format of '+16034' is invalid.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
//       Parsing with the '' culture.
//          The format of '++1403' is invalid.
//          Converted '-0' to 0.
//          Converted '+0' to 0.
//          Converted '+16034' to 16034.
//          '-32768' is outside the range of a UInt16 value.
//          The format of '14.0' is invalid.
//          Converted '18012' to 18012.
Imports System.Globalization

Module Example
   Public Sub Main()
      ' Define a custom culture that uses "++" as a positive sign. 
      Dim ci As CultureInfo = New CultureInfo("")
      ci.NumberFormat.PositiveSign = "++"
      ' Create an array of cultures.
      Dim cultures() As CultureInfo = { ci, CultureInfo.InvariantCulture }
      ' Create an array of strings to parse.
      Dim values() As String = { "++1403", "-0", "+0", "+16034", _
                                 Int16.MinValue.ToString(), "14.0", "18012" }
      ' Parse the strings using each culture.
      For Each culture As CultureInfo In cultures
         Console.WriteLine("Parsing with the '{0}' culture.", culture.Name)
         For Each value As String In values
            Try
               Dim number As UShort = UInt16.Parse(value, culture)
               Console.WriteLine("   Converted '{0}' to {1}.", value, number)
            Catch e As FormatException
               Console.WriteLine("   The format of '{0}' is invalid.", value)
            Catch e As OverflowException
               Console.WriteLine("   '{0}' is outside the range of a UInt16 value.", value)
            End Try               
         Next
      Next
   End Sub
End Module
' The example displays the following output:
'       Parsing with the  culture.
'          Converted '++1403' to 1403.
'          Converted '-0' to 0.
'          The format of '+0' is invalid.
'          The format of '+16034' is invalid.
'          '-32768' is outside the range of a UInt16 value.
'          The format of '14.0' is invalid.
'          Converted '18012' to 18012.
'       Parsing with the '' culture.
'          The format of '++1403' is invalid.
'          Converted '-0' to 0.
'          Converted '+0' to 0.
'          Converted '+16034' to 16034.
'          '-32768' is outside the range of a UInt16 value.
'          The format of '14.0' is invalid.
'          Converted '18012' to 18012.

설명

s 매개 변수에는 다음과 같은 형식이 포함 됩니다.The s parameter contains a number of the form:

[ws] [sign] 숫자[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 0 값을 나타내는 경우입니다.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 byte value's decimal digits, only leading and trailing spaces along with a leading sign is allowed. 음수 부호가 있으면 s 0 값을 나타내야 합니다. 그렇지 않으면 메서드에서 OverflowException를 throw 합니다. 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 매개 변수는 GetFormat 메서드가 s형식에 대 한 문화권별 정보를 제공 하는 NumberFormatInfo 개체를 반환 하는 IFormatProvider 구현입니다.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.

provider null되 면 현재 문화권에 대 한 NumberFormatInfo 사용 됩니다.If provider is null, the NumberFormatInfo for the current culture is used.

추가 정보

적용 대상