Double.TryParse 메서드

정의

숫자의 문자열 표현을 같은 값의 배정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number to its double-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

오버로드

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

숫자의 문자열 표현을 같은 값의 배정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number to its double-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

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

지정된 스타일 및 문화권별 형식의 숫자에 대한 문자열 표현을 같은 값의 배정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number in a specified style and culture-specific format to its double-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

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

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

매개 변수

style
NumberStyles
provider
IFormatProvider
result
Double

반환

TryParse(String, Double)

숫자의 문자열 표현을 같은 값의 배정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number to its double-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

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

매개 변수

s
String

변환할 숫자가 포함된 문자열입니다.A string containing a number to convert.

result
Double

이 메서드는 변환이 성공한 경우 s 매개 변수의 배정밀도 부동 소수점 숫자를 반환하고 변환이 실패한 경우 0을 반환합니다.When this method returns, contains the double-precision floating-point number equivalent of the s parameter, if the conversion succeeded, or zero if the conversion failed. s 매개 변수가 null 또는 Empty이거나 올바른 형식의 숫자가 아니거나, MinValue보다 작거나 MaxValue보다 큰 숫자를 나타내는 경우 변환이 실패합니다.The conversion fails if the s parameter is null or Empty, is not a number in a valid format, or represents a number less than MinValue or greater than MaxValue. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다. 원래 result에 제공된 모든 값을 덮어쓰게 됩니다.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

반환

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

예제

다음 예제에서는 합니다 TryParse(String, Double) 숫자 값의 문자열 표현으로 변환할 방법이 Double 값입니다.The following example uses the TryParse(String, Double) method to convert the string representations of numeric values to Double values. 해당 EN-US가 현재 문화권이 가정 합니다.It assumes that en-US is the current culture.

using System;

public class Example
{
   public static void Main()
   {
      string[] values = { "1,643.57", "$1,643.57", "-1.643e6", 
                          "-168934617882109132", "123AE6", 
                          null, String.Empty, "ABCDEF" };
      double number;
      
      foreach (var value in values) {
         if (Double.TryParse(value, out number)) 
            Console.WriteLine("'{0}' --> {1}", value, number);
         else
            Console.WriteLine("Unable to parse '{0}'.", value);      
      }   
   }
}
// The example displays the following output:
//       '1,643.57' --> 1643.57
//       Unable to parse '$1,643.57'.
//       '-1.643e6' --> -1643000
//       '-168934617882109132' --> -1.68934617882109E+17
//       Unable to parse '123AE6'.
//       Unable to parse ''.
//       Unable to parse ''.
//       Unable to parse 'ABCDEF'.
Module Example
   Public Sub Main()
      Dim values() As String = { "1,643.57", "$1,643.57", "-1.643e6", 
                                "-168934617882109132", "123AE6", 
                                Nothing, String.Empty, "ABCDEF" }
      Dim number As Double
      
      For Each value In values
         If Double.TryParse(value, number) Then
            Console.WriteLine("'{0}' --> {1}", value, number)
         Else
            Console.WriteLine("Unable to parse '{0}'.", value)      
         End If   
      Next   
   End Sub
End Module
' The example displays the following output:
'       '1,643.57' --> 1643.57
'       Unable to parse '$1,643.57'.
'       '-1.643e6' --> -1643000
'       '-168934617882109132' --> -1.68934617882109E+17
'       Unable to parse '123AE6'.
'       Unable to parse ''.
'       Unable to parse ''.
'       Unable to parse 'ABCDEF'.

설명

다른이 오버 로드는 Double.Parse(String) 메서드 구문 분석된 된 숫자 값을 반환 하는 대신 구문 분석 작업이 성공 했는지를 나타내는 부울 값을 반환 합니다.This overload differs from the Double.Parse(String) method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed numeric value. 테스트 하기 위해 예외 처리를 사용할 필요가 한 FormatException 이벤트에 s 잘못 되었으며 성공적으로 구문 분석할 수 없습니다.It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

합니다 s 매개 변수는 현재 문화권의 포함 될 수 있습니다 NumberFormatInfo.PositiveInfinitySymbolNumberFormatInfo.NegativeInfinitySymbol, NumberFormatInfo.NaNSymbol (문자열 비교는 대/소문자 구분) 또는 폼의 문자열:The s parameter can contain the current culture's NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol, NumberFormatInfo.NaNSymbol (the string comparison is case-sensitive), or a string of the form:

[ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws][ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]

대괄호 안의 요소는 선택 사항입니다.Elements in square brackets are optional. 다음 표에서는 각 요소에 대해 설명합니다.The following table describes each element.

요소Element 설명Description
wsws 일련의 공백 문자입니다.A series of white-space characters.
signsign 음수 기호 또는 양수 부호 기호입니다.A negative sign or positive sign symbol.
integral-digitsintegral-digits 일련의 숫자 0에서 하는 9 사이의 숫자의 정수 부분을 지정 합니다.A series of numeric characters ranging from 0 to 9 that specify the integral part of the number. 정수 계열 숫자 수 없어야 경우 소수 자릿수입니다.Integral-digits can be absent if there are fractional-digits.
,, Culture 별 그룹 구분 기호입니다.A culture-specific group separator symbol.
.. Culture 별 소수점 기호입니다.A culture-specific decimal point symbol.
fractional-digitsfractional-digits 일련의 숫자 0에서 하는 9 사이의 숫자의 소수 부분을 지정 합니다.A series of numeric characters ranging from 0 to 9 that specify the fractional part of the number.
EE 대 / 소문자 구분 문자가 'e'를 지 수 (과학적 표기법) 표기법을 나타냅니다.An uppercase or lowercase character 'e', that indicates exponential (scientific) notation.
exponential-digitsexponential-digits 일련의 0에서 9 지 수를 지정 하는 위치 까지의 숫자입니다.A series of numeric characters ranging from 0 to 9 that specify an exponent.

숫자 형식에 대 한 자세한 내용은 참조 하세요. 형식합니다.For more information about numeric formats, see Formatting Types.

s 매개 변수를 함께 사용 하 여 해석 되는 NumberStyles.FloatNumberStyles.AllowThousands 플래그입니다.The s parameter is interpreted by using a combination of the NumberStyles.Float and NumberStyles.AllowThousands flags. 즉, 공백이 고 천 단위 구분 기호는 사용할 수 있지만 통화 기호는 없습니다.This means that white space and thousands separators are allowed but currency symbols are not. 요소를 명시적으로 정의 하려면 (통화 기호, 1000 단위와 같은 구분 기호 및 공백을)에 나타날 수 있는 s를 사용 하 여를 Double.TryParse(String, NumberStyles, IFormatProvider, Double) 메서드 오버 로드.To explicitly define the elements (such as currency symbols, thousands separators, and white space) that can be present in s, use the Double.TryParse(String, NumberStyles, IFormatProvider, Double) method overload.

s 매개 변수에서 서식 지정 정보를 사용 하 여 구문 분석 되는 NumberFormatInfo 현재 시스템 문화권에 대 한 초기화 되는 개체입니다.The s parameter is parsed using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. 자세한 내용은 NumberFormatInfo.CurrentInfo을 참조하세요.For more information, see NumberFormatInfo.CurrentInfo. 문자열 구문 분석 하는 문화권 지정 된 다른 서식 지정 정보를 사용 하 여, 사용 된 Double.TryParse(String, NumberStyles, IFormatProvider, Double) 메서드 오버 로드 합니다.To parse a string using the formatting information of some other specified culture, use the Double.TryParse(String, NumberStyles, IFormatProvider, Double) method overload.

일반적으로 전달 하는 경우는 Double.TryParse 메서드를 호출 하 여 만든 문자열을 Double.ToString 메서드를 원래 Double 값이 반환 됩니다.Ordinarily, if you pass the Double.TryParse method a string that is created by calling the Double.ToString method, the original Double value is returned. 그러나 정밀도의 손실, 인해 값 아닐 같은 합니다.However, because of a loss of precision, the values may not be equal. 또한의 문자열 표현을 구문 분석 하려고 MinValueMaxValue throw는 OverflowException다음 예제와 같이, 합니다.In addition, attempting to parse the string representation of either MinValue or MaxValue throws an OverflowException, as the following example illustrates.

using System;

public class Example
{
   public static void Main()
   {
      string value;
      double number;
      
      value = Double.MinValue.ToString();
      if (Double.TryParse(value, out number))
         Console.WriteLine(number);
      else
         Console.WriteLine("{0} is outside the range of a Double.", 
                           value);
      
      value = Double.MaxValue.ToString();
      if (Double.TryParse(value, out number))
         Console.WriteLine(number);
      else
         Console.WriteLine("{0} is outside the range of a Double.",
                           value);
   }
}
// The example displays the following output:
//    -1.79769313486232E+308 is outside the range of the Double type.
//    1.79769313486232E+308 is outside the range of the Double type.            
Module Example
   Public Sub Main()
      Dim value As String
      Dim number As Double
      
      value = Double.MinValue.ToString()
      If Double.TryParse(value, number) Then
         Console.WriteLine(number)
      Else
         Console.WriteLine("{0} is outside the range of a Double.", _
                           value)
      End If
      
      value = Double.MaxValue.ToString()
      If Double.TryParse(value, number) Then
         Console.WriteLine(number)
      Else
         Console.WriteLine("{0} is outside the range of a Double.", _
                           value)
      End If
   End Sub
End Module
' The example displays the following output:
'    -1.79769313486232E+308 is outside the range of the Double type.
'    1.79769313486232E+308 is outside the range of the Double type.            

구분 기호에서 발견 되는 s decimal 및 그룹 구분 기호 및 구문 분석 작업을 하는 동안 매개 변수는 동일한, 구문 분석 작업이 구분 기호는 그룹 구분 기호가 아니라는 소수 구분 기호로 간주 합니다.If a separator is encountered in the s parameter during a parse operation, and the decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. 구분 기호에 대 한 자세한 내용은 참조 하세요. CurrencyDecimalSeparator, NumberDecimalSeparatorCurrencyGroupSeparator, 및 NumberGroupSeparator합니다.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

추가 정보

TryParse(ReadOnlySpan<Char>, Double)

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

매개 변수

result
Double

반환

TryParse(String, NumberStyles, IFormatProvider, Double)

지정된 스타일 및 문화권별 형식의 숫자에 대한 문자열 표현을 같은 값의 배정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number in a specified style and culture-specific format to its double-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

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

매개 변수

s
String

변환할 숫자가 포함된 문자열입니다.A string containing a number to convert.

style
NumberStyles

NumberStyles에 사용할 수 있는 형식을 나타내는 s 값의 비트 조합입니다.A bitwise combination of NumberStyles values that indicates the permitted format of s. 지정할 일반적인 값은 AllowThousands와 결합되는 Float입니다.A typical value to specify is Float combined with AllowThousands.

provider
IFormatProvider

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

result
Double

이 메서드는 변환이 성공한 경우 s에 포함된 숫자 값이나 기호의 배정밀도 부동 소수점 숫자를 반환하며 변환이 실패한 경우 0을 반환합니다.When this method returns, contains a double-precision floating-point number equivalent of the numeric value or symbol contained in s, if the conversion succeeded, or zero if the conversion failed. s 매개 변수가 null 또는 Empty이거나, style과 규격 형식이 아니거나, MinValue보다 작거나 MaxValue보다 큰 숫자를 나타내거나, styleNumberStyles 열거형 상수의 유효한 조합이 아닌 경우 변환이 실패합니다.The conversion fails if the s parameter is null or Empty, is not in a format compliant with style, represents a number less than MinValue or greater than MaxValue, or if style is not a valid combination of NumberStyles enumerated constants. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다. 원래 result에 제공된 모든 값을 덮어쓰게 됩니다.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

반환

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

예외

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

또는-or- styleAllowHexSpecifier 값이 포함되어 있습니다.style includes the AllowHexSpecifier value.

예제

다음 예제에서는 사용 된 Double.TryParse(String, NumberStyles, IFormatProvider, Double) 특정 스타일 및 서식을 특정 문화권의 규칙을 사용 하는 숫자의 문자열 표현을 구문 분석 하는 방법입니다.The following example demonstrates the use of the Double.TryParse(String, NumberStyles, IFormatProvider, Double) method to parse the string representation of numbers that have a particular style and are formatted using the conventions of a particular culture.

string value;
NumberStyles style;
CultureInfo culture;
double number;

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

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

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

value = "1 345,978";
if (Double.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);
// Displays:
//       Unable to convert '1 345,978'.
Dim value As String
Dim style As NumberStyles
Dim culture As CultureInfo
Dim number As Double

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

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

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

value = "1 345,978"
If Double.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    
' Displays:
'       Unable to convert '1 345,978'.

설명

합니다 TryParse 메서드와 비슷합니다는 Parse(String, NumberStyles, IFormatProvider) 메서드와이 메서드가 변환에 실패 하면 예외를 throw 하지 않습니다.The TryParse method is like the Parse(String, NumberStyles, IFormatProvider) method, except this method does not throw an exception if the conversion fails. 변환이 성공 하는 경우 반환 값은 true 하며 result 변환의 결과 매개 변수는 설정입니다.If the conversion succeeds, the return value is true and the result parameter is set to the outcome of the conversion. 변환에 실패 하는 경우 반환 값은 false 하며 result 매개 변수는 0으로 설정 됩니다.If the conversion fails, the return value is false and the result parameter is set to zero. 테스트 하기 위해 예외 처리를 사용할 필요가 없습니다이 FormatException 이벤트에 s 잘못 되었으며 성공적으로 구문 분석할 수 없습니다.This eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

합니다 style 의 허용 되는 형식을 정의 하는 매개 변수는 s 구문 분석 작업이 성공 하기 위해 매개 변수입니다.The style parameter defines the allowable format of the s parameter for the parse operation to succeed. 비트 플래그 조합 이어야 합니다는 NumberStyles 열거형입니다.It must be a combination of bit flags from the NumberStyles enumeration. 다음 NumberStyles 멤버가 지원 되지 않습니다.The following NumberStyles members are not supported:

합니다 s 매개 변수를 포함할 수 있습니다 NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol, 또는 NumberFormatInfo.NaNSymbol 하 여 지정 된 문화권 provider합니다.The s parameter can contain NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol, or NumberFormatInfo.NaNSymbol for the culture indicated by provider. 값에 따라 뿐만 style, s 매개 변수는 다음 요소가 포함 될 수 있습니다.In addition, depending on the value of style, the s parameter may include the following elements:

[ws] [$] [sign][integral-digits,]integral-digits[.fractional-digits][e[sign]exponential-digits][ws][ws] [$] [sign][integral-digits,]integral-digits[.fractional-digits][e[sign]exponential-digits][ws]

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

요소Element 설명Description
wsws 선택적 공백입니다.Optional white space. 맨 앞에 공백이 나타날 수 s 경우 style 포함 된 NumberStyles.AllowLeadingWhite 플래그입니다.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag. 끝에 나타날 수 있습니다 s 경우 style 포함 된 NumberStyles.AllowTrailingWhite 플래그입니다.It can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Culture 별 통화 기호입니다.A culture-specific currency symbol. 문자열의 해당 위치에서 정의 됩니다는 NumberFormatInfo.CurrencyNegativePattern 또는 NumberFormatInfo.CurrencyPositivePattern 의 속성을 NumberFormatInfo 에서 반환 된 개체를 IFormatProvider.GetFormat 메서드의 provider 매개 변수.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern or NumberFormatInfo.CurrencyPositivePattern properties of the NumberFormatInfo object returned by the IFormatProvider.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. 부호의 시작 부분에 나타날 수 있습니다 s 경우 style 포함 합니다 NumberStyles.AllowLeadingSign 끝에 있고, 나타날 수 있습니다 s 경우 style 포함를 NumberStyles.AllowTrailingSign 플래그 합니다.The sign can appear at the beginning 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.
integral-digitsintegral-digits 일련의 0에서 숫자의 정수 부분을 지정 하는 9 까지의 숫자입니다.A series of digits ranging from 0 to 9 that specify the integral part of the number. 정수 계열 숫자 수 없어야 경우 소수 자릿수입니다.Integral-digits can be absent if there are fractional-digits.
,, 문화권별 천 단위 구분 기호입니다.A culture-specific thousands separator symbol. 현재 문화권의 천 단위 구분 기호에 나타날 수 있습니다 s 경우 style 포함는 NumberStyles.AllowThousands 플래그입니다.The current culture's thousands separator symbol can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Culture 별 소수점 기호입니다.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 까지의 숫자입니다.A series of digits ranging from 0 to 9 that specify the fractional part of the number. 소수 자릿수에 나타날 수 있습니다 s 하는 경우 style 포함 된 NumberStyles.AllowDecimalPoint 플래그입니다.Fractional digits can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
ee E 또는 E 문자는 나타내는 s 지 수 표기법을 사용 하 여 숫자를 나타낼 수 있습니다.The e or E character, which indicates that s can represent a number using exponential notation. 합니다 s 매개 변수 스타일을 포함 하는 경우 지 수 표기법으로 숫자를 나타낼 수는 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 series of digits ranging from 0 to 9 that specify an exponent.

참고

종료 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 digits only (which corresponds to the NumberStyles.None style) always parses successfully. 나머지 System.Globalization.NumberStyles 멤버 수 있지만 입력된 문자열에 있이 필요가 없습니다 있는 요소를 제어 합니다.The remaining System.Globalization.NumberStyles members control elements that may be but are not required to be present in the input string. 다음 표에서 개별 NumberStyles 플래그에 나타날 수 있는 요소에 영향을 줄 s합니다.The following table indicates how individual NumberStyles flags affect the elements that may be present in s.

NumberStyles 값NumberStyles value 숫자 외에도 s에 허용 되는 요소Elements permitted in s in addition to digits
None 합니다 정수 계열 숫자 요소에만 합니다.The integral-digits element only.
AllowDecimalPoint .The . 소수 자릿수 요소입니다.and fractional-digits elements.
AllowExponent s 매개 변수 지 수 표기법을 사용할 수도 있습니다.The s parameter can also use exponential notation. 자체적으로이 플래그는 폼 값을 지원 하며 정수 자릿수E자리 지 수 백오프추가; 플래그와 같은 요소를 사용 하 여 지 수 표기법에서 문자열을 구문 분석 하는 데 필요한 양수 또는 음수 기호를 소수점 기호This flag by itself supports values in the form integral-digitsEexponential-digits; additional flags are needed to successfully parse strings in exponential notation with such elements as positive or negative signs and decimal point symbols.
AllowLeadingWhite 합니다 ws 맨 앞에 요소 s합니다.The ws element at the beginning of s.
AllowTrailingWhite 합니다 ws 의 끝에 있는 요소 s합니다.The ws element at the end of s.
AllowLeadingSign 합니다 sign 맨 앞에 요소 s합니다.The sign element at the beginning of s.
AllowTrailingSign 합니다 sign 의 끝에 있는 요소 s합니다.The sign element at the end of s.
AllowParentheses 합니다 기호 형식의 숫자 값을 묶는 괄호는 요소입니다.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands 합니다 , 요소입니다.The , element.
AllowCurrencySymbol 합니다 $ 요소입니다.The $ element.
Currency 모두.All. s 매개 변수를 16 진수 또는 지 수 표기법으로 숫자를에서 나타낼 수 없습니다.The s parameter cannot represent a hexadecimal number or a number in exponential notation.
Float ws 시작과 끝 요소 s, 로그인 의 시작 부분 s, 및 합니다.The ws element at the beginning or end of s, sign at the beginning of s, and the . 기호입니다.symbol. s 매개 변수 지 수 표기법을 사용할 수도 있습니다.The s parameter can also use exponential notation.
Number ws, sign, 천 단위 구분 기호 (,), 및 소수점 (.) 요소입니다.The ws, sign, thousands separator (,), and decimal point (.) elements.
Any 모든 스타일을 제외 하 고 s 16 진수 숫자를 나타낼 수 없습니다.All styles, except s cannot represent a hexadecimal number.

합니다 provider 매개 변수는를 IFormatProvider 구현 같은 NumberFormatInfo 또는 CultureInfo 개체입니다.The provider parameter is a IFormatProvider implementation, such as a NumberFormatInfo or CultureInfo object. provider 매개 변수 구문 분석에 사용 되는 문화권별 정보를 제공 합니다.The provider parameter supplies culture-specific information used in parsing. 하는 경우 provider 됩니다 null 또는 NumberFormatInfo 개체를 가져올 수 없습니다, 현재 문화권의 형식 정보를 사용 합니다.If provider is null or a NumberFormatInfo object cannot be obtained, the format information for the current culture is used.

경우 변환이 실패 합니다 s 매개 변수는 null 또는 숫자 값이 아닌,는 provider 매개 변수를 생성 하지 않습니다는 NumberFormatInfo 개체 또는 style 매개 변수에서 비트 플래그의 조합이 아닙니다.는 NumberStyles 열거형입니다.The conversion fails if the s parameter is null or not a numeric value, the provider parameter does not yield a NumberFormatInfo object, or the style parameter is not a combination of bit flags from the NumberStyles enumeration.

일반적으로 전달 하는 경우는 Double.TryParse 메서드를 호출 하 여 만든 문자열을 Double.ToString 메서드를 원래 Double 값이 반환 됩니다.Ordinarily, if you pass the Double.TryParse method a string that is created by calling the Double.ToString method, the original Double value is returned. 그러나 정밀도의 손실, 인해 값 아닐 같은 합니다.However, because of a loss of precision, the values may not be equal. 또한의 문자열 표현을 구문 분석 하려고 MinValueMaxValue throw는 OverflowException다음 예제와 같이, 합니다.In addition, attempting to parse the string representation of either MinValue or MaxValue throws an OverflowException, as the following example illustrates.

using System;

public class Example
{
   public static void Main()
   {
      string value;
      double number;
      
      value = Double.MinValue.ToString();
      if (Double.TryParse(value, out number))
         Console.WriteLine(number);
      else
         Console.WriteLine("{0} is outside the range of a Double.", 
                           value);
      
      value = Double.MaxValue.ToString();
      if (Double.TryParse(value, out number))
         Console.WriteLine(number);
      else
         Console.WriteLine("{0} is outside the range of a Double.",
                           value);
   }
}
// The example displays the following output:
//    -1.79769313486232E+308 is outside the range of the Double type.
//    1.79769313486232E+308 is outside the range of the Double type.            
Module Example
   Public Sub Main()
      Dim value As String
      Dim number As Double
      
      value = Double.MinValue.ToString()
      If Double.TryParse(value, number) Then
         Console.WriteLine(number)
      Else
         Console.WriteLine("{0} is outside the range of a Double.", _
                           value)
      End If
      
      value = Double.MaxValue.ToString()
      If Double.TryParse(value, number) Then
         Console.WriteLine(number)
      Else
         Console.WriteLine("{0} is outside the range of a Double.", _
                           value)
      End If
   End Sub
End Module
' The example displays the following output:
'    -1.79769313486232E+308 is outside the range of the Double type.
'    1.79769313486232E+308 is outside the range of the Double type.            

구분 기호에서 발견 되는 s 구문 분석 작업을 하 고 해당 통화 또는 10 진수 수 중에 매개 변수 및 그룹 구분 기호는 동일, 구문 분석 작업이 구분 기호는 그룹 보다는 소수 구분 기호로 간주 구분 기호입니다.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. 구분 기호에 대 한 자세한 내용은 참조 하세요. CurrencyDecimalSeparator, NumberDecimalSeparatorCurrencyGroupSeparator, 및 NumberGroupSeparator합니다.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

추가 정보

적용 대상