BigInteger.TryParse BigInteger.TryParse BigInteger.TryParse BigInteger.TryParse Method

정의

숫자의 문자열 표현을 해당 BigInteger로 변환하고, 변환에 성공했는지를 나타내는 값을 반환합니다.Tries to convert the string representation of a number to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

오버로드

TryParse(ReadOnlySpan<Char>, BigInteger) TryParse(ReadOnlySpan<Char>, BigInteger) TryParse(ReadOnlySpan<Char>, BigInteger) TryParse(ReadOnlySpan<Char>, BigInteger)
TryParse(String, BigInteger) TryParse(String, BigInteger) TryParse(String, BigInteger) TryParse(String, BigInteger)

숫자의 문자열 표현을 해당 BigInteger로 변환하고, 변환에 성공했는지를 나타내는 값을 반환합니다.Tries to convert the string representation of a number to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger) TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger) TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger) TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger)
TryParse(String, NumberStyles, IFormatProvider, BigInteger) TryParse(String, NumberStyles, IFormatProvider, BigInteger) TryParse(String, NumberStyles, IFormatProvider, BigInteger) TryParse(String, NumberStyles, IFormatProvider, BigInteger)

지정된 문화권별 형식과 지정된 스타일을 사용한 숫자의 문자열 표현을 해당 BigInteger로 변환해 보고, 변환에 성공했는지를 나타내는 값을 반환합니다.Tries to convert the string representation of a number in a specified style and culture-specific format to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, BigInteger) TryParse(ReadOnlySpan<Char>, BigInteger) TryParse(ReadOnlySpan<Char>, BigInteger) TryParse(ReadOnlySpan<Char>, BigInteger)

public:
 static bool TryParse(ReadOnlySpan<char> value, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse (ReadOnlySpan<char> value, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<char> * BigInteger -> bool
Public Shared Function TryParse (value As ReadOnlySpan(Of Char), ByRef result As BigInteger) As Boolean

매개 변수

반환

TryParse(String, BigInteger) TryParse(String, BigInteger) TryParse(String, BigInteger) TryParse(String, BigInteger)

숫자의 문자열 표현을 해당 BigInteger로 변환하고, 변환에 성공했는지를 나타내는 값을 반환합니다.Tries to convert the string representation of a number to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(System::String ^ value, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse (string value, out System.Numerics.BigInteger result);
static member TryParse : string * BigInteger -> bool
Public Shared Function TryParse (value As String, ByRef result As BigInteger) As Boolean

매개 변수

value
String String String String

숫자의 문자열 표현입니다.The string representation of a number.

result
BigInteger BigInteger BigInteger BigInteger

이 메서드가 반환되면 value에 포함된 숫자 또는 변환에 실패한 경우 0에 해당하는 BigInteger를 포함합니다.When this method returns, contains the BigInteger equivalent to the number that is contained in value, or zero (0) if the conversion fails. value 매개 변수가 null이거나 올바른 서식이 아니면 변환에 실패합니다.The conversion fails if the value parameter is null or is not of the correct format. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.This parameter is passed uninitialized.

반환

true가 성공적으로 변환되었으면 value이고, 그렇지 않으면 false입니다.true if value was converted successfully; otherwise, false.

예외

예제

다음 예제에서는 합니다 TryParse(String, BigInteger) 메서드를 두 BigInteger 개체입니다.The following example uses the TryParse(String, BigInteger) method to instantiate two BigInteger objects. 각 개체는 다른 수를 곱하고 그 다음 변환이 성공할 경우는 Compare 두 개체 간의 관계를 확인 하는 방법입니다.If the conversions succeed, it multiplies each object by another number and then calls the Compare method to determine the relationship between the two objects.

BigInteger number1, number2;
bool succeeded1 = BigInteger.TryParse("-12347534159895123", out number1);
bool succeeded2 = BigInteger.TryParse("987654321357159852", out number2);
if (succeeded1 && succeeded2)
{
   number1 *= 3;
   number2 *= 2;
   switch (BigInteger.Compare(number1, number2))
   {
      case -1:
         Console.WriteLine("{0} is greater than {1}.", number2, number1);
         break;
      case 0:
         Console.WriteLine("{0} is equal to {1}.", number1, number2);
         break;
      case 1:
         Console.WriteLine("{0} is greater than {1}.", number1, number2);
         break;
   }      
}
else
{
   if (! succeeded1) 
      Console.WriteLine("Unable to initialize the first BigInteger value.");

   if (! succeeded2)
      Console.WriteLine("Unable to initialize the second BigInteger value.");
}
// The example displays the following output:
//      1975308642714319704 is greater than -37042602479685369.
Dim number1 As BigInteger = BigInteger.Zero
Dim number2 As BigInteger = BigInteger.Zero
Dim succeeded1 As Boolean = BigInteger.TryParse("-12347534159895123", number1)
Dim succeeded2 As Boolean = BigInteger.TryParse("987654321357159852", number2)
If succeeded1 AndAlso succeeded2
   number1 *= 3
   number2 *= 2
   Select Case BigInteger.Compare(number1, number2)
      Case -1
         Console.WriteLine("{0} is greater than {1}.", number2, number1)
      Case 0
         Console.WriteLine("{0} is equal to {1}.", number1, number2)
      Case 1
         Console.WriteLine("{0} is greater than {1}.", number1, number2)
   End Select      
Else
   If Not succeeded1 Then 
      Console.WriteLine("Unable to initialize the first BigInteger value.")
   End If
   If Not succeeded2 Then
      Console.WriteLine("Unable to initialize the second BigInteger value.")
   
   End If
End If
' The example displays the following output:
'      1975308642714319704 is greater than -37042602479685369.

설명

합니다 TryParse(String, BigInteger) 메서드와 비슷합니다는 Parse(String) 메서드와 변환에 실패 하면 예외를 throw 하지 않습니다.The TryParse(String, BigInteger) method is like the Parse(String) method, except that it does not throw an exception if the conversion fails. 이 메서드는 테스트 하기 위해 예외 처리를 사용할 필요가 없습니다를 FormatException 경우 value 잘못 되었으며 성공적으로 구문 분석할 수 없습니다.This method eliminates the need to use exception handling to test for a FormatException if value is invalid and cannot be successfully parsed.

value 매개 변수 형식은 10 진수 숫자의 문자열 표현 이어야 합니다.The value parameter should be the string representation of a decimal number in the following form:

[ws][sign]digits[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.
digitsdigits 0에서 9 까지의 10 진수 시퀀스로,A sequence of decimal digits ranging from 0 to 9.

참고

지정 된 문자열을 value 매개 변수는 그룹 구분 기호 또는 소수 구분 기호를 포함할 수 없습니다 및 소수 부분이 가질 수 없습니다.The string specified by the value parameter cannot contain any group separators or decimal separator, and it cannot have a decimal portion.

합니다 value 매개 변수를 사용 하 여 해석 되는 NumberStyles.Integer 스타일입니다.The value parameter is interpreted by using the NumberStyles.Integer style. 10 진수 외에도 선행 및 후행 공백을 앞에 부호가 허용 됩니다.In addition to the decimal digits, only leading and trailing spaces with a leading sign are allowed. 사용할 수 있는 culture 별 서식 지정 정보를 사용 하 여 스타일 요소를 명시적으로 정의 하려면 value를 호출 합니다 TryParse(String, NumberStyles, IFormatProvider, BigInteger) 메서드.To explicitly define the style elements with the culture-specific formatting information that can be present in value, call the TryParse(String, NumberStyles, IFormatProvider, BigInteger) method.

합니다 value 매개 변수에서 서식 지정 정보를 사용 하 여 구문 분석 되는 NumberFormatInfo 현재 문화권에 대 한 개체입니다.The value parameter is parsed by using the formatting information in a NumberFormatInfo object for the current culture. 자세한 내용은 NumberFormatInfo.CurrentInfo을 참조하세요.For more information, see NumberFormatInfo.CurrentInfo.

모든 숫자를 해석 하는이 오버 로드는 value 소수 자릿수 매개 변수입니다.This overload interprets all digits in the value parameter as decimal digits. 16 진수 숫자의 문자열 표현으로 구문 분석 하려면 호출을 TryParse(String, NumberStyles, IFormatProvider, BigInteger) 오버 로드를 대신 합니다.To parse the string representation of a hexadecimal number, call the TryParse(String, NumberStyles, IFormatProvider, BigInteger) overload instead.

추가 정보

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

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

매개 변수

반환

TryParse(String, NumberStyles, IFormatProvider, BigInteger) TryParse(String, NumberStyles, IFormatProvider, BigInteger) TryParse(String, NumberStyles, IFormatProvider, BigInteger) TryParse(String, NumberStyles, IFormatProvider, BigInteger)

지정된 문화권별 형식과 지정된 스타일을 사용한 숫자의 문자열 표현을 해당 BigInteger로 변환해 보고, 변환에 성공했는지를 나타내는 값을 반환합니다.Tries to convert the string representation of a number in a specified style and culture-specific format to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

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

매개 변수

value
String String String String

숫자의 문자열 표현입니다.The string representation of a number. 이 문자열은 style이 지정하는 스타일을 사용하여 해석됩니다.The string is interpreted using the style specified by style.

style
NumberStyles NumberStyles NumberStyles NumberStyles

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

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

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

result
BigInteger BigInteger BigInteger BigInteger

이 메서드가 반환되면 value에 포함된 숫자 또는 변환에 실패한 경우 BigInteger에 해당하는 Zero를 포함합니다.When this method returns, contains the BigInteger equivalent to the number that is contained in value, or Zero if the conversion failed. value 매개 변수가 null이거나 style과 호환되지 않는 서식으로 되어 있으면 변환에 실패합니다.The conversion fails if the value parameter is null or is not in a format that is compliant with style. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.This parameter is passed uninitialized.

반환

true 매개 변수가 변환되었으면 value이고, 그렇지 않으면 false입니다.true if the value parameter was converted successfully; otherwise, false.

예외

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

또는-or- style에는 AllowHexSpecifier 또는 HexNumber 플래그가 다른 값과 함께 포함됩니다.style includes the AllowHexSpecifier or HexNumber flag along with another value.

예제

다음 예제에서는 일부 호출을 TryParse(String, NumberStyles, IFormatProvider, BigInteger) 다양 한 조합에 대 한 값을 사용 하 여 메서드를 styleprovider 매개 변수입니다.The following example makes some calls to the TryParse(String, NumberStyles, IFormatProvider, BigInteger) method using various combinations of values for the style and provider parameters.

string numericString;
BigInteger number = BigInteger.Zero;

// Call TryParse with default values of style and provider.
numericString = "  -300   ";
if (BigInteger.TryParse(numericString, NumberStyles.Integer, 
                       null, out number))
   Console.WriteLine("'{0}' was converted to {1}.", 
                     numericString, number);                    
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.", 
                     numericString);

// Call TryParse with the default value of style and 
// a provider supporting the tilde as negative sign.
numericString = "  -300   ";
if (BigInteger.TryParse(numericString, NumberStyles.Integer,
                       new BigIntegerFormatProvider(), out number))
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number);                             
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString);

// Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
// Method returns false because of presence of negative sign.
numericString = "  -500   ";
if (BigInteger.TryParse(numericString,
                        NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite,
                        new BigIntegerFormatProvider(), out number))
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number);                             
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString);

// Call TryParse with AllowHexSpecifier and a hex value.
numericString = "F14237FFAAC086455192";
if (BigInteger.TryParse(numericString,
                        NumberStyles.AllowHexSpecifier,
                        null, out number))
   Console.WriteLine("'{0}' was converted to {1} (0x{1:x}).",
                     numericString, number);                             
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString);

// Call TryParse with AllowHexSpecifier and a negative hex value.
// Conversion fails because of presence of negative sign.
numericString = "-3af";
if (BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier,
                       new BigIntegerFormatProvider(), out number))
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number);       
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString);

// Call TryParse with only NumberStyles.None.
// Conversion fails because of presence of white space and sign.
numericString = " -300 ";
if (BigInteger.TryParse(numericString, NumberStyles.None,
                       new BigIntegerFormatProvider(), out number))
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number);         
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString);
                                            
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion fails because the string is formatted for the en-US culture.
numericString = "9,031,425,666,123,546.00";
if (BigInteger.TryParse(numericString, NumberStyles.Any,
                       new CultureInfo("fr-FR"), out number))
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number);                     
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString);

// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion succeeds because the string is properly formatted 
// For the fr-FR culture.
numericString = "9 031 425 666 123 546,00";
if (BigInteger.TryParse(numericString, NumberStyles.Any,
                       new CultureInfo("fr-FR"), out number))
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number);                 
else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString);
// The example displays the following output:
//    '  -300   ' was converted to -300.
//    Conversion of '  -300   ' to a BigInteger failed.
//    Conversion of '  -500   ' to a BigInteger failed.
//    'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
//    Conversion of '-3af' to a BigInteger failed.
//    Conversion of ' -300 ' to a BigInteger failed.
//    Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
//    '9 031 425 666 123 546,00' was converted to 9031425666123546.      
Dim numericString As String
Dim number As BigInteger = BigInteger.Zero

' Call TryParse with default values of style and provider.
numericString = "  -300   "
If BigInteger.TryParse(numericString, NumberStyles.Integer,
                       Nothing, number) Then
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If                                             

' Call TryParse with the default value of style and 
' a provider supporting the tilde as negative sign.
numericString = "  -300   "
If BigInteger.TryParse(numericString, NumberStyles.Integer,
                       New BigIntegerFormatProvider(), number) Then
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If                                             

' Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
' Method returns false because of presence of negative sign.
numericString = "  -500   "
If BigInteger.TryParse(numericString,
                    NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite,
                    New BigIntegerFormatProvider(), number) Then
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If                                             

' Call TryParse with AllowHexSpecifier and a hex value.
numericString = "F14237FFAAC086455192"
If BigInteger.TryParse(numericString,
                    NumberStyles.AllowHexSpecifier,
                    Nothing, number) Then
   Console.WriteLine("'{0}' was converted to {1} (0x{1:x}).",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If                                             

' Call TryParse with AllowHexSpecifier and a negative hex value.
' Conversion fails because of presence of negative sign.
numericString = "-3af"
If BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier,
                       New BigIntegerFormatProvider(), number) Then
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If                                             

' Call TryParse with only NumberStyles.None.
' Conversion fails because of presence of white space and sign.
numericString = " -300 "
If BigInteger.TryParse(numericString, NumberStyles.None,
                       New BigIntegerFormatProvider(), number) Then
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If 
                                            
' Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
' Conversion fails because the string is formatted for the en-US culture.
numericString = "9,031,425,666,123,546.00"
If BigInteger.TryParse(numericString, NumberStyles.Any,
                       New CultureInfo("fr-FR"), number) Then
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If

' Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
' Conversion succeeds because the string is properly formatted 
' For the fr-FR culture.
numericString = "9 031 425 666 123 546,00"
If BigInteger.TryParse(numericString, NumberStyles.Any,
                       New CultureInfo("fr-FR"), number) Then
   Console.WriteLine("'{0}' was converted to {1}.",
                     numericString, number)                             
Else
   Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
                     numericString)
End If
' The example displays the following output:
'    '  -300   ' was converted to -300.
'    Conversion of '  -300   ' to a BigInteger failed.
'    Conversion of '  -500   ' to a BigInteger failed.
'    'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
'    Conversion of '-3af' to a BigInteger failed.
'    Conversion of ' -300 ' to a BigInteger failed.
'    Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
'    '9 031 425 666 123 546,00' was converted to 9031425666123546.      

에 대 한 개별 호출 수를 TryParse(String, NumberStyles, IFormatProvider, BigInteger) 메서드는 다음의 인스턴스를 전달 BigIntegerFormatProvider 음수 부호와 물결표 (~)를 정의 하는 클래스입니다.A number of the individual calls to the TryParse(String, NumberStyles, IFormatProvider, BigInteger) method pass an instance of the following BigIntegerFormatProvider class, which defines a tilde (~) as the negative sign.

public class BigIntegerFormatProvider : IFormatProvider
{
   public object GetFormat(Type formatType) 
   {
      if (formatType == typeof(NumberFormatInfo)) 
      {
         NumberFormatInfo numberFormat = new NumberFormatInfo();
         numberFormat.NegativeSign = "~";
         return numberFormat;
      }
      else
      {
         return null;
      }      
   }
}
Public Class BigIntegerFormatProvider : Implements IFormatProvider
   Public Function GetFormat(formatType As Type) As Object _
                            Implements IFormatProvider.GetFormat
      If formatType Is GetType(NumberFormatInfo) Then
         Dim numberFormat As New NumberFormatInfo
         numberFormat.NegativeSign = "~"
         Return numberFormat
      Else
         Return Nothing
      End If      
   End Function
End Class

설명

합니다 TryParse(String, NumberStyles, IFormatProvider, BigInteger) 메서드와 비슷합니다는 Parse(String, NumberStyles, IFormatProvider) 메서드와 변환에 실패 하면 예외를 throw 하지 않습니다.The TryParse(String, NumberStyles, IFormatProvider, BigInteger) method is like the Parse(String, NumberStyles, IFormatProvider) method, except that it does not throw an exception if the conversion fails. 이 메서드는 테스트 하기 위해 예외 처리를 사용할 필요가 없습니다를 FormatException 경우 value 잘못 되었으며 성공적으로 구문 분석할 수 없습니다.This method eliminates the need to use exception handling to test for a FormatException if value is invalid and cannot be parsed successfully.

합니다 style 매개 변수 (예: 공백 또는 양수 또는 음수 기호)에 사용할 수 있는 스타일 요소를 정의 합니다 value 구문 분석 작업이 성공 하기 위해 매개 변수입니다.The style parameter defines the style elements (such as white space or a positive or negative sign) that are allowed in the value parameter for the parse operation to succeed. 비트 플래그 조합 이어야 합니다는 NumberStyles 열거형입니다.It must be a combination of bit flags from the NumberStyles enumeration. 값에 따라 style, value 매개 변수는 다음 요소가 포함 될 수 있습니다.Depending on the value of style, the value parameter may include the following elements:

[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws][ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

경우는 style 매개 변수 포함 AllowHexSpecifier, value 매개 변수는 다음 요소가 포함 될 수 있습니다.If the style parameter includes AllowHexSpecifier, the value parameter may include the following elements:

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

대괄호 ([ 및 ]) 안의 요소는 선택적 요소입니다.Elements in square brackets ([ and ]) are optional. 다음 표에서는 각 요소에 대해 설명합니다.The following table describes each element.

요소Element 설명Description
wsws 선택적 공백입니다.Optional white space. 공백의 시작 부분에 나타날 수 있습니다 value 경우 style 포함 합니다 NumberStyles.AllowLeadingWhite 플래그를 또는 끝에 value 경우 style 포함를 NumberStyles.AllowTrailingWhite 플래그 합니다.White space can appear at the start of value if style includes the NumberStyles.AllowLeadingWhite flag, or at the end of value if style includes the NumberStyles.AllowTrailingWhite flag.
$ Culture 별 통화 기호입니다.A culture-specific currency symbol. 문자열의 해당 위치에서 정의 됩니다는 CurrencyPositivePattern 의 속성을 NumberFormatInfo 에서 반환 된 개체를 GetFormat 메서드의 provider 매개 변수.Its position in the string is defined by the CurrencyPositivePattern property of the NumberFormatInfo object returned by the GetFormat method of the provider parameter. 통화 기호에 나타날 수 있습니다 value 경우 style 포함 된 NumberStyles.AllowCurrencySymbol 플래그입니다.The currency symbol can appear in value if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign 가 선택적 부호입니다.An optional sign. 로그인의 시작 부분에 나타날 수 있습니다 value 경우 style 포함 합니다 NumberStyles.AllowLeadingSign 끝에 있고, 나타날 수 있습니다 value 경우 style 포함를 NumberStyles.AllowTrailingSign 플래그.The sign can appear at the start of value if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of value if style includes the NumberStyles.AllowTrailingSign flag. 괄호를 사용할 수 있습니다 value 경우 음수 값을 나타내는 데 style 포함 된 NumberStyles.AllowParentheses 플래그입니다.Parentheses can be used in value 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 group separator. 에 지정 된 문화권의 그룹 구분 기호 provider 에 나타날 수 있습니다 value 경우 style 포함 된 NumberStyles.AllowThousands 플래그입니다.The group separator of the culture specified by provider can appear in value if style includes the NumberStyles.AllowThousands flag.
.. Culture 별 소수점 기호입니다.A culture-specific decimal point symbol. 에 지정 된 문화권의 소수점 기호가 provider 에 나타날 수 있습니다 value 경우 style 포함 된 NumberStyles.AllowDecimalPoint 플래그.The decimal point symbol of the culture specified by provider can appear in value if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits 숫자 0 개 이상의 발견 합니다.One or more occurrences of the digit 0. 소수 자릿수에 나타날 수 있습니다 value 경우에만 style 포함 된 NumberStyles.AllowDecimalPoint 플래그입니다.Fractional digits can appear in value 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. value 매개 변수는 경우 지 수 표기법으로 숫자를 나타낼 수 style 포함 된 NumberStyles.AllowExponent 플래그.The value 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. value 매개 변수는 경우 지 수 표기법으로 숫자를 나타낼 수 style 포함 된 NumberStyles.AllowExponent 플래그.The value 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.

참고

종료 NUL (U + 0000)에 임의 문자를 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 flag) 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 멤버에 나타날 수 있는 요소에 영향을 줄 value합니다.The following table indicates how individual NumberStyles members affect the elements that may be present in value.

비 복합 NumberStylesNon-composite NumberStyles values 숫자 외에도 값에 허용 되는 요소Elements permitted in value in addition to digits
None 소수 자릿수에만 해당 합니다.Decimal digits only.
AllowDecimalPoint 소수점 (합니다.) 및 소수 자릿수 요소입니다.The decimal point (.) and fractional_digits elements. 그러나 소수 자릿수 하나 이상의 0 숫자 또는 메서드 반환으로 구성 되어야 합니다 false합니다.However, fractional_digits must consist of only one or more 0 digits, or the method returns false.
AllowExponent "E" 또는 "E" 문자를 함께 지 수 표기법으로 나타냅니다 지 수 표기법합니다.The "e" or "E" character, which indicates exponential notation, along with exponential_digits. 경우 value 숫자를 나타내는 지 수 표기법으로, 소수 자릿수 0이 아닌 구성 요소를 가질 수 없습니다.If value represents a number in exponential notation, it cannot have a non-zero, fractional component.
AllowLeadingWhite 합니다 ws 의 시작 부분에 요소 value합니다.The ws element at the start of value.
AllowTrailingWhite 합니다 ws 의 끝에 있는 요소 value합니다.The ws element at the end of value.
AllowLeadingSign sign 앞에 요소 자릿수합니다.The sign element before digits.
AllowTrailingSign 합니다 기호 요소 뒤 자릿수합니다.The sign element after digits.
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. 그러나 value 16 진수 또는 지 수 표기법으로 숫자를에서 나타낼 수 없습니다.However, value cannot represent a hexadecimal number or a number in exponential notation.
Float value** 의 시작 또는 끝 부분에 있는 ws 요소,의 시작 부분에 있는 기호 및 소수점 (.) 기호를 지정 합니다. valueThe ws element at the start or end of value, sign at the start of value, and the decimal point (.) symbol. value 매개 변수 지 수 표기법을 사용할 수도 있습니다.The value parameter can also use exponential notation.
Number ws, 로그인, 그룹 구분 기호 (,), 소수점 및 (.) 요소입니다.The ws, sign, group separator (,), and decimal point (.) elements.
Any 모든 요소입니다.All elements. 그러나 value 16 진수 숫자를 나타낼 수 없습니다.However, value cannot represent a hexadecimal number.

중요

사용 하는 경우는 TryParse 왕복 문자열 표현 하기 위해의를 BigInteger 의해 출력 된 값을 ToString 메서드를 사용할지를 BigInteger.ToString(String) 의 문자열 표현을 생성 "R" 서식 지정자를 사용 하 여 메서드를 BigInteger 값입니다.If you use the TryParse method to round-trip the string representation of a BigInteger value that was output by the ToString method, you should use the BigInteger.ToString(String) method with the "R" format specifier to generate the string representation of the BigInteger value. 이 고, 그렇지의 문자열 표현 합니다 BigInteger 50 사용 하는 경우 원래 값 및 데이터의 최대 유효 자릿수 손실 될 수 있습니다만 유지 합니다 TryParse 복원 하는 방법을 BigInteger 값.Otherwise, the string representation of the BigInteger preserves only the 50 most significant digits of the original value, and data may be lost when you use the TryParse method to restore the BigInteger value.

경우는 NumberStyles.AllowHexSpecifier 플래그를 사용할 value 16 진수 값 이어야 합니다.If the NumberStyles.AllowHexSpecifier flag is used, value must be a hexadecimal value. 만 다른 플래그에 있을 수 있는 style 됩니다 NumberStyles.AllowLeadingWhiteNumberStyles.AllowTrailingWhite입니다.The only other flags that can be present in style are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (합니다 NumberStyles 열거형에는 복합 스타일 인 HexNumber, 모두 공백 플래그를 포함 하는.)(The NumberStyles enumeration has a composite style, HexNumber, that includes both white-space flags.)

참고

하는 경우 value 문자열 표현인 16 진수 숫자의 고 수 없습니다. 뒤에 야 모든 장식 (같은 0x 또는 &h) 16 진수 숫자로 구분 하는 합니다.If value 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.

경우 value 16 진수 문자열을 TryParse(String, NumberStyles, IFormatProvider, BigInteger) 보다 크거나 같습니다 value 음수로 처음 두 16 진수 보다 크거나 같은 경우에 2의 보수 표현이 사용 하 여 저장 0x80합니다.If value is a hexadecimal string, the TryParse(String, NumberStyles, IFormatProvider, BigInteger) method interprets value as a negative number stored by using two's complement representation if its first two hexadecimal digits are greater than or equal to 0x80. 메서드는 첫 번째 바이트의 최상위 비트를 해석 하는 즉, value 부호 비트로입니다.In other words, the method interprets the highest-order bit of the first byte in value as the sign bit. 16 진수 문자열에서 첫 번째 숫자가 양수 숫자로 해석 됩니다 있도록 value 0의 값이 있어야 합니다.To make sure that a hexadecimal string is correctly interpreted as a positive number, the first digit in value must have a value of zero. 예를 들어이 메서드는 해석 0x80 음수 값을 해석 하거나 대로 0x080 또는 0x0080 양수 값으로.For example, the method interprets 0x80 as a negative value, but it interprets either 0x080 or 0x0080 as a positive value. 다음 예에서는 양수 및 음수 값을 나타내는 16 진수 문자열 간의 차이점을 보여 줍니다.The following example illustrates the difference between hexadecimal strings that represent negative and positive values.

using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      string[] hexStrings = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                              "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                              "0080", "00E293", "00F9A2FF", "00FFFFFFFF" };
      BigInteger number = BigInteger.Zero;
                              
      foreach (string hexString in hexStrings)
      {
         if (BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier,
                                 null, out number))
            Console.WriteLine("Converted 0x{0} to {1}.", hexString, number);
         else
            Console.WriteLine("Cannot convert '{0}' to a BigInteger.", hexString);
      }
   }
}
// The example displays the following output:
//       Converted 0x80 to -128.
//       Converted 0xE293 to -7533.
//       Converted 0xF9A2FF to -417025.
//       Converted 0xFFFFFFFF to -1.
//       Converted 0x080 to 128.
//       Converted 0x0E293 to 58003.
//       Converted 0x0F9A2FF to 16360191.
//       Converted 0x0FFFFFFFF to 4294967295.
//       Converted 0x0080 to 128.
//       Converted 0x00E293 to 58003.
//       Converted 0x00F9A2FF to 16360191.
//       Converted 0x00FFFFFFFF to 4294967295.
Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim hexStrings() As String = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                                     "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                                     "0080", "00E293", "00F9A2FF", "00FFFFFFFF" }
      Dim number As BigInteger = BigInteger.Zero
      
      For Each hexString As String In hexStrings
         If BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier, 
                                Nothing, number) Then
            Console.WriteLine("Converted 0x{0} to {1}.", hexString, number)
         Else
            Console.WriteLine("Cannot convert '{0}' to a BigInteger.", hexString)
         End If
      Next         
   End Sub
End Module
' The example displays the following output:
'       Converted 0x80 to -128.
'       Converted 0xE293 to -7533.
'       Converted 0xF9A2FF to -417025.
'       Converted 0xFFFFFFFF to -1.
'       Converted 0x080 to 128.
'       Converted 0x0E293 to 58003.
'       Converted 0x0F9A2FF to 16360191.
'       Converted 0x0FFFFFFFF to 4294967295.
'       Converted 0x0080 to 128.
'       Converted 0x00E293 to 58003.
'       Converted 0x00F9A2FF to 16360191.
'       Converted 0x00FFFFFFFF to 4294967295.

합니다 provider 매개 변수는 IFormatProvider 구현 합니다.The provider parameter is an IFormatProvider implementation. 해당 GetFormat 메서드가 반환 되는 NumberFormatInfo 개체의 형식에 대 한 문화권별 형식 정보를 제공 하는 value합니다.Its GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of value. provider 매개 변수는 다음 중 하나일 수 있습니다.The provider parameter can be any one of the following:

  • CultureInfo 서식 지정 정보를 제공 하는 문화권을 나타내는 개체입니다.A CultureInfo object that represents the culture that supplies formatting information. 해당 GetFormat 메서드가 반환 되는 NumberFormatInfo 해당 문화권에 대 한 숫자 형식 지정 정보를 제공 하는 개체입니다.Its GetFormat method returns the NumberFormatInfo object that provides numeric formatting information for that culture.

  • NumberFormatInfo 숫자 형식 지정 정보를 제공 하는 개체입니다.A NumberFormatInfo object that provides numeric formatting information. (해당 구현의 GetFormat 자체를 반환 합니다.)(Its implementation of GetFormat just returns itself.)

  • 구현 하는 사용자 지정 개체 IFormatProvider합니다.A custom object that implements IFormatProvider. 해당 GetFormat 메서드를 인스턴스화하고 반환 된 NumberFormatInfo 서식 지정 정보를 제공 하는 개체입니다.Its GetFormat method instantiates and returns the NumberFormatInfo object that provides formatting information.

하는 경우 provider 됩니다 nullNumberFormatInfo 개체가 현재 문화권이 사용 됩니다.If provider is null, the NumberFormatInfo object for the current culture is used.

추가 정보

적용 대상